<!DOCTYPE html><html><head><meta charset="UTF-8"><title>Vale Module System: When to Include What Code Comments</title><style>
    .comment {
      overflow: hidden;
      padding: 18px 0 7px 0;
      clear: both;
    }

    .comment + .comment {
      border-top: 1px solid #e8e8e8;
    }

    .comment > .json {
      display: none;
    }

    .comment-box {
      background-color: #fffbe1;
      overflow: hidden;
      padding: 6px 12px;
      margin-bottom: 8px;
    }

    .reply-box {
      background-color: #eff2f9;
      padding: 6px 12px 6px 6px;
      overflow: hidden;
      margin-bottom: 8px;
    }

    .user-name {
      font-weight: bold;
      padding-right: 10px;
    }

    .comment > .author-picture {
      float: left;
      padding: 0 20px;
    }

    .reply-box > .author-picture {
      float: left;
      padding: 0 6px;
    }

    .comment-deleted {
      color: red;
      padding-right: 10px;
    }

    .author-picture + div, .user-name, .user-name + .comment-deleted, .user-name + .comment-action {
      float: left;
    }

    .created-date {
      color: #999;
    }

    .comment-box .comment-content {
      clear: both;
    }

    .comment-box > .created-date {
      float: right;
    }

    .reply-box .created-date {
      clear: both;
    }

    .comment-context-intro {
      color: #999;
      clear: both;
    }

    .comment-context-value {
      border-left: 1px solid #ccc;
      font-style: italic;
      padding: 3px 10px 3px 10px;
    }

    .comment-action {
      font-style: italic;
    }

    .comment-status {
      font-style: italic;
      color: green;
      float: left;
      font-weight: bold;
      padding-right: 10px;
    }
  </style></head><body><section class="header"><h1>Vale Module System: When to Include What Code - Drive File Comments</h1></section><section><div id="AAAAM1a9fiw" class="comment"><div class="json">null</div><div class="author-picture"><img src="https://lh3.googleusercontent.com/a-/AOh14GifZkxh5NouSuXsOZVVeCYnegULJ-H-NkZhYe5x1Q=s50-c-k-no" width="48" height="48" alt="Author profile image"></div><div class="comment-data"><div class="comment-box"><div class="user-name">Julian Lazaras</div><div class="comment-status">Resolved</div><div class="created-date">Jun 15, 2021, 2:55 AM(edited: Jun 15, 2021, 3:00 AM)</div><div class="comment-context"><div class="comment-context-intro">Selected text:</div><div class="comment-context-value">then valec will succeed (all of the import statements in stdlib are present and well-formed) but we&amp;#39;ll get a linker error.</div></div><div class="comment-content">no actually if imported in vale it&#39;ll be compiled this is not forced</div></div><div class="reply-list"><div id="AAAAM1a9fi8" class="reply-box"><div class="author-picture"><img src="https://lh3.googleusercontent.com/a-/AOh14GjoOXwuji1Q0p6FX0IRu-PBtgN-CxWdF8wvbNemn1A=s50-c-k-no" width="24" height="24" alt="Author profile image"></div><div class="reply-data"><div class="user-name">Evan Ovadia</div><div class="comment-content">from discord, what you say is true of N but not E, marking resolved</div><div class="created-date">Jun 15, 2021, 3:00 AM</div></div></div><div id="AAAAM1a9fjA" class="reply-box"><div class="author-picture"><img src="https://lh3.googleusercontent.com/a-/AOh14GjoOXwuji1Q0p6FX0IRu-PBtgN-CxWdF8wvbNemn1A=s50-c-k-no" width="24" height="24" alt="Author profile image"></div><div class="reply-data"><div class="user-name">Evan Ovadia</div><div class="comment-action">Marked as resolved</div><div class="comment-content"></div><div class="created-date">Jun 15, 2021, 3:00 AM</div></div></div></div></div></div><div id="AAAAM1a9fhc" class="comment"><div class="json">null</div><div class="author-picture"><img src="https://lh3.googleusercontent.com/a-/AOh14GjoOXwuji1Q0p6FX0IRu-PBtgN-CxWdF8wvbNemn1A=s50-c-k-no" width="48" height="48" alt="Author profile image"></div><div class="comment-data"><div class="comment-box"><div class="user-name">Evan Ovadia</div><div class="comment-status"></div><div class="created-date">Jun 15, 2021, 2:03 AM</div><div class="comment-content"><div style="font-size:13px;color:#333"><span style="font-weight:bold">Add paragraph</span> (2 times)</div></div></div><div class="reply-list"><div id="AAAAM1a9fhg" class="reply-box"><div class="author-picture"><img src="https://lh3.googleusercontent.com/a-/AOh14GjoOXwuji1Q0p6FX0IRu-PBtgN-CxWdF8wvbNemn1A=s50-c-k-no" width="24" height="24" alt="Author profile image"></div><div class="reply-data"><div class="user-name">Evan Ovadia</div><div class="comment-action">Accepted suggestion</div><div class="comment-content"></div><div class="created-date">Jun 15, 2021, 2:03 AM</div></div></div></div></div></div><div id="AAAAM1aPSLw" class="comment"><div class="json">null</div><div class="author-picture"><img src="https://lh3.googleusercontent.com/a-/AOh14GjoOXwuji1Q0p6FX0IRu-PBtgN-CxWdF8wvbNemn1A=s50-c-k-no" width="48" height="48" alt="Author profile image"></div><div class="comment-data"><div class="comment-box"><div class="user-name">Evan Ovadia</div><div class="comment-status"></div><div class="created-date">Jun 15, 2021, 1:55 AM</div><div class="comment-content"><div style="font-size:13px;color:#333"><span style="font-weight:bold">Delete:</span> <span style="white-space:pre-line;color:#777;font-style:italic">“(if its not imported directly)”</span></div></div></div><div class="reply-list"></div></div></div><div id="AAAAM1aPSLs" class="comment"><div class="json">null</div><div class="author-picture"><img src="https://lh3.googleusercontent.com/a-/AOh14GifZkxh5NouSuXsOZVVeCYnegULJ-H-NkZhYe5x1Q=s50-c-k-no" width="48" height="48" alt="Author profile image"></div><div class="comment-data"><div class="comment-box"><div class="user-name">Julian Lazaras</div><div class="comment-status"></div><div class="created-date">Jun 15, 2021, 1:51 AM</div><div class="comment-context"><div class="comment-context-intro">Selected text:</div><div class="comment-context-value">however currently import stdlib.path must be in command.vale for the exists function</div></div><div class="comment-content">this answer your question @Verdagon</div></div><div class="reply-list"></div></div></div><div id="AAAAM1aPSLY" class="comment"><div class="json">null</div><div class="author-picture"><img src="https://lh3.googleusercontent.com/a-/AOh14GifZkxh5NouSuXsOZVVeCYnegULJ-H-NkZhYe5x1Q=s50-c-k-no" width="48" height="48" alt="Author profile image"></div><div class="comment-data"><div class="comment-box"><div class="user-name">Julian Lazaras</div><div class="comment-status">Resolved</div><div class="created-date">Jun 15, 2021, 1:11 AM(edited: Jun 15, 2021, 1:32 AM)</div><div class="comment-context"><div class="comment-context-intro">Selected text:</div><div class="comment-context-value">this containerization can be accomplished by having one feature correspond with only one namespace that is only one directory</div></div><div class="comment-content">here is where I make this clear feature 1:1 directory 1:1 namespace</div></div><div class="reply-list"><div id="AAAAM1aPSLg" class="reply-box"><div class="author-picture"><img src="https://lh3.googleusercontent.com/a-/AOh14GjoOXwuji1Q0p6FX0IRu-PBtgN-CxWdF8wvbNemn1A=s50-c-k-no" width="24" height="24" alt="Author profile image"></div><div class="reply-data"><div class="user-name">Evan Ovadia</div><div class="comment-content">thanks!</div><div class="created-date">Jun 15, 2021, 1:32 AM</div></div></div><div id="AAAAM1aPSLk" class="reply-box"><div class="author-picture"><img src="https://lh3.googleusercontent.com/a-/AOh14GjoOXwuji1Q0p6FX0IRu-PBtgN-CxWdF8wvbNemn1A=s50-c-k-no" width="24" height="24" alt="Author profile image"></div><div class="reply-data"><div class="user-name">Evan Ovadia</div><div class="comment-action">Marked as resolved</div><div class="comment-content"></div><div class="created-date">Jun 15, 2021, 1:32 AM</div></div></div></div></div></div><div id="AAAAM1aPSLQ" class="comment"><div class="json">null</div><div class="author-picture"><img src="https://lh3.googleusercontent.com/a-/AOh14GjoOXwuji1Q0p6FX0IRu-PBtgN-CxWdF8wvbNemn1A=s50-c-k-no" width="48" height="48" alt="Author profile image"></div><div class="comment-data"><div class="comment-box"><div class="user-name">Evan Ovadia</div><div class="comment-status">Resolved</div><div class="created-date">Jun 15, 2021, 1:03 AM(edited: Jun 15, 2021, 1:09 AM)</div><div class="comment-context"><div class="comment-context-intro">Selected text:</div><div class="comment-context-value">path = “path/”</div></div><div class="comment-content">Does a feature only apply to one specific namespace, or does it apply to all namespaces inside a directory?</div></div><div class="reply-list"><div id="AAAAM1aPSLU" class="reply-box"><div class="author-picture"><img src="https://lh3.googleusercontent.com/a-/AOh14GjoOXwuji1Q0p6FX0IRu-PBtgN-CxWdF8wvbNemn1A=s50-c-k-no" width="24" height="24" alt="Author profile image"></div><div class="reply-data"><div class="user-name">Evan Ovadia</div><div class="comment-action">Marked as resolved</div><div class="comment-content"></div><div class="created-date">Jun 15, 2021, 1:09 AM</div></div></div></div></div></div><div id="AAAAM1OZIbU" class="comment"><div class="json">null</div><div class="author-picture"><img src="https://lh3.googleusercontent.com/a-/AOh14GifZkxh5NouSuXsOZVVeCYnegULJ-H-NkZhYe5x1Q=s50-c-k-no" width="48" height="48" alt="Author profile image"></div><div class="comment-data"><div class="comment-box"><div class="user-name">Julian Lazaras</div><div class="comment-status">Resolved</div><div class="created-date">Jun 14, 2021, 9:28 PM(edited: Jun 15, 2021, 12:59 AM)</div><div class="comment-context"><div class="comment-context-intro">Selected text:</div><div class="comment-context-value">defined in [[feature]] name = “command” as above in stdlibs fountain.toml, but used in markvales dependency on stdlib as shown in this line</div></div><div class="comment-content">@Verdagon in response to your question about where &quot;features = [\&quot;command\&quot;]&quot; belonged</div></div><div class="reply-list"><div id="AAAAM1aPSK4" class="reply-box"><div class="author-picture"><img src="https://lh3.googleusercontent.com/a-/AOh14GjoOXwuji1Q0p6FX0IRu-PBtgN-CxWdF8wvbNemn1A=s50-c-k-no" width="24" height="24" alt="Author profile image"></div><div class="reply-data"><div class="user-name">Evan Ovadia</div><div class="comment-content">thanks!</div><div class="created-date">Jun 15, 2021, 12:59 AM</div></div></div><div id="AAAAM1aPSK8" class="reply-box"><div class="author-picture"><img src="https://lh3.googleusercontent.com/a-/AOh14GjoOXwuji1Q0p6FX0IRu-PBtgN-CxWdF8wvbNemn1A=s50-c-k-no" width="24" height="24" alt="Author profile image"></div><div class="reply-data"><div class="user-name">Evan Ovadia</div><div class="comment-action">Marked as resolved</div><div class="comment-content"></div><div class="created-date">Jun 15, 2021, 12:59 AM</div></div></div></div></div></div><div id="AAAAM1OZIbM" class="comment"><div class="json">null</div><div class="author-picture"><img src="https://lh3.googleusercontent.com/a-/AOh14GifZkxh5NouSuXsOZVVeCYnegULJ-H-NkZhYe5x1Q=s50-c-k-no" width="48" height="48" alt="Author profile image"></div><div class="comment-data"><div class="comment-box"><div class="user-name">Julian Lazaras</div><div class="comment-status">Resolved</div><div class="created-date">Jun 14, 2021, 9:24 PM(edited: Jun 15, 2021, 12:58 AM)</div><div class="comment-context"><div class="comment-context-intro">Selected text:</div><div class="comment-context-value">after the appropriate headers have been generated</div></div><div class="comment-content">explanation here, yes, it will be called after Midas</div></div><div class="reply-list"><div id="AAAAM1aPSKw" class="reply-box"><div class="author-picture"><img src="https://lh3.googleusercontent.com/a-/AOh14GjoOXwuji1Q0p6FX0IRu-PBtgN-CxWdF8wvbNemn1A=s50-c-k-no" width="24" height="24" alt="Author profile image"></div><div class="reply-data"><div class="user-name">Evan Ovadia</div><div class="comment-content">thanks!</div><div class="created-date">Jun 15, 2021, 12:58 AM</div></div></div><div id="AAAAM1aPSK0" class="reply-box"><div class="author-picture"><img src="https://lh3.googleusercontent.com/a-/AOh14GjoOXwuji1Q0p6FX0IRu-PBtgN-CxWdF8wvbNemn1A=s50-c-k-no" width="24" height="24" alt="Author profile image"></div><div class="reply-data"><div class="user-name">Evan Ovadia</div><div class="comment-action">Marked as resolved</div><div class="comment-content"></div><div class="created-date">Jun 15, 2021, 12:58 AM</div></div></div></div></div></div><div id="AAAAM1OZIbE" class="comment"><div class="json">null</div><div class="author-picture"><img src="https://lh3.googleusercontent.com/a-/AOh14GifZkxh5NouSuXsOZVVeCYnegULJ-H-NkZhYe5x1Q=s50-c-k-no" width="48" height="48" alt="Author profile image"></div><div class="comment-data"><div class="comment-box"><div class="user-name">Julian Lazaras</div><div class="comment-status">Resolved</div><div class="created-date">Jun 14, 2021, 9:23 PM(edited: Jun 15, 2021, 12:58 AM)</div><div class="comment-context"><div class="comment-context-intro">Selected text:</div><div class="comment-context-value">“-I./build/”</div></div><div class="comment-content">this addresses your comment about when clang will be evoked, but I&#39;ll be explicit</div></div><div class="reply-list"><div id="AAAAM1aPSKo" class="reply-box"><div class="author-picture"><img src="https://lh3.googleusercontent.com/a-/AOh14GjoOXwuji1Q0p6FX0IRu-PBtgN-CxWdF8wvbNemn1A=s50-c-k-no" width="24" height="24" alt="Author profile image"></div><div class="reply-data"><div class="user-name">Evan Ovadia</div><div class="comment-content">thanks!</div><div class="created-date">Jun 15, 2021, 12:58 AM</div></div></div><div id="AAAAM1aPSKs" class="reply-box"><div class="author-picture"><img src="https://lh3.googleusercontent.com/a-/AOh14GjoOXwuji1Q0p6FX0IRu-PBtgN-CxWdF8wvbNemn1A=s50-c-k-no" width="24" height="24" alt="Author profile image"></div><div class="reply-data"><div class="user-name">Evan Ovadia</div><div class="comment-action">Marked as resolved</div><div class="comment-content"></div><div class="created-date">Jun 15, 2021, 12:58 AM</div></div></div></div></div></div><div id="AAAAMzVXidU" class="comment"><div class="json">null</div><div class="author-picture"><img src="https://lh3.googleusercontent.com/a-/AOh14GjoOXwuji1Q0p6FX0IRu-PBtgN-CxWdF8wvbNemn1A=s50-c-k-no" width="48" height="48" alt="Author profile image"></div><div class="comment-data"><div class="comment-box"><div class="user-name">Evan Ovadia</div><div class="comment-status">Resolved</div><div class="created-date">Jun 14, 2021, 5:00 PM(edited: Jun 14, 2021, 5:11 PM)</div><div class="comment-context"><div class="comment-context-intro">Selected text:</div><div class="comment-context-value">or perhaps most appropriately namespace</div></div><div class="comment-content">if its per-namespace, can i get an example? im having trouble imagining this on a per-namespace basis</div></div><div class="reply-list"><div id="AAAAMzVXid8" class="reply-box"><div class="author-picture"><img src="https://lh3.googleusercontent.com/a-/AOh14GifZkxh5NouSuXsOZVVeCYnegULJ-H-NkZhYe5x1Q=s50-c-k-no" width="24" height="24" alt="Author profile image"></div><div class="reply-data"><div class="user-name">Julian Lazaras</div><div class="comment-content">? since feature 1:1 with namespace 1:1 with directory just change <br>[[feature]]&quot; to &quot;[[namespace]]&quot; and <br>[[namespace.imports]]&quot; but I will give an example</div><div class="created-date">Jun 14, 2021, 5:09 PM</div></div></div><div id="AAAAMzVXieA" class="reply-box"><div class="author-picture"><img src="https://lh3.googleusercontent.com/a-/AOh14GifZkxh5NouSuXsOZVVeCYnegULJ-H-NkZhYe5x1Q=s50-c-k-no" width="24" height="24" alt="Author profile image"></div><div class="reply-data"><div class="user-name">Julian Lazaras</div><div class="comment-action">Marked as resolved</div><div class="comment-content"></div><div class="created-date">Jun 14, 2021, 5:11 PM</div></div></div></div></div></div><div id="AAAAMzVXidA" class="comment"><div class="json">null</div><div class="author-picture"><img src="https://lh3.googleusercontent.com/a-/AOh14GjoOXwuji1Q0p6FX0IRu-PBtgN-CxWdF8wvbNemn1A=s50-c-k-no" width="48" height="48" alt="Author profile image"></div><div class="comment-data"><div class="comment-box"><div class="user-name">Evan Ovadia</div><div class="comment-status"></div><div class="created-date">Jun 14, 2021, 4:58 PM(edited: Jun 14, 2021, 5:08 PM)</div><div class="comment-context"><div class="comment-context-intro">Selected text:</div><div class="comment-context-value">will suggest that features be written for the namespaces</div></div><div class="comment-content">How would this work? since (IIUC E) a feature is a collection of multiple namespaces</div></div><div class="reply-list"><div id="AAAAMzVXid4" class="reply-box"><div class="author-picture"><img src="https://lh3.googleusercontent.com/a-/AOh14GifZkxh5NouSuXsOZVVeCYnegULJ-H-NkZhYe5x1Q=s50-c-k-no" width="24" height="24" alt="Author profile image"></div><div class="reply-data"><div class="user-name">Julian Lazaras</div><div class="comment-content">I would think maybe output warnings like cargo does for unneeded mut or unused variable (fountain would do this) basically &quot;hey did you want this to be a feature here is how..&quot; and when the project is published fountain could just write the feature for the programmer</div><div class="created-date">Jun 14, 2021, 5:08 PM</div></div></div></div></div></div><div id="AAAAMzVXico" class="comment"><div class="json">null</div><div class="author-picture"><img src="https://lh3.googleusercontent.com/a-/AOh14GjoOXwuji1Q0p6FX0IRu-PBtgN-CxWdF8wvbNemn1A=s50-c-k-no" width="48" height="48" alt="Author profile image"></div><div class="comment-data"><div class="comment-box"><div class="user-name">Evan Ovadia</div><div class="comment-status">Resolved</div><div class="created-date">Jun 14, 2021, 4:57 PM(edited: Jun 15, 2021, 2:55 AM)</div><div class="comment-context"><div class="comment-context-intro">Selected text:</div><div class="comment-context-value">for each name space</div></div><div class="comment-content">as opposed to how K would generate them per (sub)project, right?<br>(we could actually do that, and doing it per-namespace could even help with more fine-grained incremental compilation)</div></div><div class="reply-list"><div id="AAAAMzVXid0" class="reply-box"><div class="author-picture"><img src="https://lh3.googleusercontent.com/a-/AOh14GifZkxh5NouSuXsOZVVeCYnegULJ-H-NkZhYe5x1Q=s50-c-k-no" width="24" height="24" alt="Author profile image"></div><div class="reply-data"><div class="user-name">Julian Lazaras</div><div class="comment-content">the .vast would be virtually identical so not oppose to no</div><div class="created-date">Jun 14, 2021, 5:06 PM</div></div></div><div id="AAAAM1a9fi0" class="reply-box"><div class="author-picture"><img src="https://lh3.googleusercontent.com/a-/AOh14GjoOXwuji1Q0p6FX0IRu-PBtgN-CxWdF8wvbNemn1A=s50-c-k-no" width="24" height="24" alt="Author profile image"></div><div class="reply-data"><div class="user-name">Evan Ovadia</div><div class="comment-content">this makes sense given our detailing E and E2, resolving</div><div class="created-date">Jun 15, 2021, 2:55 AM</div></div></div><div id="AAAAM1a9fi4" class="reply-box"><div class="author-picture"><img src="https://lh3.googleusercontent.com/a-/AOh14GjoOXwuji1Q0p6FX0IRu-PBtgN-CxWdF8wvbNemn1A=s50-c-k-no" width="24" height="24" alt="Author profile image"></div><div class="reply-data"><div class="user-name">Evan Ovadia</div><div class="comment-action">Marked as resolved</div><div class="comment-content"></div><div class="created-date">Jun 15, 2021, 2:55 AM</div></div></div></div></div></div><div id="AAAAMzVXibY" class="comment"><div class="json">null</div><div class="author-picture"><img src="https://lh3.googleusercontent.com/a-/AOh14GjoOXwuji1Q0p6FX0IRu-PBtgN-CxWdF8wvbNemn1A=s50-c-k-no" width="48" height="48" alt="Author profile image"></div><div class="comment-data"><div class="comment-box"><div class="user-name">Evan Ovadia</div><div class="comment-status"></div><div class="created-date">Jun 14, 2021, 4:55 PM</div><div class="comment-content"><div style="font-size:13px;color:#333"><span style="font-weight:bold">Format:</span> heading 1</div></div></div><div class="reply-list"><div id="AAAAMzVXibc" class="reply-box"><div class="author-picture"><img src="https://lh3.googleusercontent.com/a-/AOh14GjoOXwuji1Q0p6FX0IRu-PBtgN-CxWdF8wvbNemn1A=s50-c-k-no" width="24" height="24" alt="Author profile image"></div><div class="reply-data"><div class="user-name">Evan Ovadia</div><div class="comment-action">Accepted suggestion</div><div class="comment-content"></div><div class="created-date">Jun 14, 2021, 4:55 PM</div></div></div></div></div></div><div id="AAAAMzVXiZ8" class="comment"><div class="json">null</div><div class="author-picture"><img src="https://lh3.googleusercontent.com/a-/AOh14GjoOXwuji1Q0p6FX0IRu-PBtgN-CxWdF8wvbNemn1A=s50-c-k-no" width="48" height="48" alt="Author profile image"></div><div class="comment-data"><div class="comment-box"><div class="user-name">Evan Ovadia</div><div class="comment-status">Resolved</div><div class="created-date">Jun 14, 2021, 4:46 PM(edited: Jun 14, 2021, 5:04 PM)</div><div class="comment-context"><div class="comment-context-intro">Selected text:</div><div class="comment-context-value">however command can depend on path (which it does) and fountain will pass as path to --features of stdlib:/path/to/stdlib/src though this isn’t technically needed because command/command.vale imports stdlib.path.*;</div></div><div class="comment-content">I&#39;m not entirely clear on this, what would the --features flag look like in this case?</div></div><div class="reply-list"><div id="AAAAMzVXidw" class="reply-box"><div class="author-picture"><img src="https://lh3.googleusercontent.com/a-/AOh14GifZkxh5NouSuXsOZVVeCYnegULJ-H-NkZhYe5x1Q=s50-c-k-no" width="24" height="24" alt="Author profile image"></div><div class="reply-data"><div class="user-name">Julian Lazaras</div><div class="comment-action">Marked as resolved</div><div class="comment-content"></div><div class="created-date">Jun 14, 2021, 5:04 PM</div></div></div></div></div></div><div id="AAAAMzVXiZM" class="comment"><div class="json">null</div><div class="author-picture"><img src="https://lh3.googleusercontent.com/a-/AOh14GjoOXwuji1Q0p6FX0IRu-PBtgN-CxWdF8wvbNemn1A=s50-c-k-no" width="48" height="48" alt="Author profile image"></div><div class="comment-data"><div class="comment-box"><div class="user-name">Evan Ovadia</div><div class="comment-status"></div><div class="created-date">Jun 14, 2021, 4:45 PM</div><div class="comment-content"><div style="font-size:13px;color:#333"><span style="font-weight:bold">Replace:</span> <span style="white-space:pre-line;color:#777;font-style:italic">“(which it does) and”</span> with <span style="white-space:pre-line;color:#777;font-style:italic">“,”</span></div></div></div><div class="reply-list"><div id="AAAAMzVXiZk" class="reply-box"><div class="author-picture"><img src="https://lh3.googleusercontent.com/a-/AOh14GjoOXwuji1Q0p6FX0IRu-PBtgN-CxWdF8wvbNemn1A=s50-c-k-no" width="24" height="24" alt="Author profile image"></div><div class="reply-data"><div class="user-name">Evan Ovadia</div><div class="comment-action">Rejected suggestion</div><div class="comment-content"></div><div class="created-date">Jun 14, 2021, 4:45 PM</div></div></div></div></div></div><div id="AAAAMzVXiY4" class="comment"><div class="json">null</div><div class="author-picture"><img src="https://lh3.googleusercontent.com/a-/AOh14GjoOXwuji1Q0p6FX0IRu-PBtgN-CxWdF8wvbNemn1A=s50-c-k-no" width="48" height="48" alt="Author profile image"></div><div class="comment-data"><div class="comment-box"><div class="user-name">Evan Ovadia</div><div class="comment-status"></div><div class="created-date">Jun 14, 2021, 4:45 PM</div><div class="comment-content"><div style="font-size:13px;color:#333"><span style="font-weight:bold">Add:</span> <span style="white-space:pre-line;color:#777;font-style:italic">“s”</span></div></div></div><div class="reply-list"><div id="AAAAMzVXiZg" class="reply-box"><div class="author-picture"><img src="https://lh3.googleusercontent.com/a-/AOh14GjoOXwuji1Q0p6FX0IRu-PBtgN-CxWdF8wvbNemn1A=s50-c-k-no" width="24" height="24" alt="Author profile image"></div><div class="reply-data"><div class="user-name">Evan Ovadia</div><div class="comment-action">Rejected suggestion</div><div class="comment-content"></div><div class="created-date">Jun 14, 2021, 4:45 PM</div></div></div></div></div></div><div id="AAAAMzVXiY0" class="comment"><div class="json">null</div><div class="author-picture"><img src="https://lh3.googleusercontent.com/a-/AOh14GjoOXwuji1Q0p6FX0IRu-PBtgN-CxWdF8wvbNemn1A=s50-c-k-no" width="48" height="48" alt="Author profile image"></div><div class="comment-data"><div class="comment-box"><div class="user-name">Evan Ovadia</div><div class="comment-status"></div><div class="created-date">Jun 14, 2021, 4:45 PM</div><div class="comment-content"><div style="font-size:13px;color:#333"><span style="font-weight:bold">Delete:</span> <span style="white-space:pre-line;color:#777;font-style:italic">“can”</span></div></div></div><div class="reply-list"><div id="AAAAMzVXiZc" class="reply-box"><div class="author-picture"><img src="https://lh3.googleusercontent.com/a-/AOh14GjoOXwuji1Q0p6FX0IRu-PBtgN-CxWdF8wvbNemn1A=s50-c-k-no" width="24" height="24" alt="Author profile image"></div><div class="reply-data"><div class="user-name">Evan Ovadia</div><div class="comment-action">Rejected suggestion</div><div class="comment-content"></div><div class="created-date">Jun 14, 2021, 4:45 PM</div></div></div></div></div></div><div id="AAAAMzVXiYs" class="comment"><div class="json">null</div><div class="author-picture"><img src="https://lh3.googleusercontent.com/a-/AOh14GjoOXwuji1Q0p6FX0IRu-PBtgN-CxWdF8wvbNemn1A=s50-c-k-no" width="48" height="48" alt="Author profile image"></div><div class="comment-data"><div class="comment-box"><div class="user-name">Evan Ovadia</div><div class="comment-status"></div><div class="created-date">Jun 14, 2021, 4:45 PM</div><div class="comment-content"><div style="font-size:13px;color:#333"><span style="font-weight:bold">Replace:</span> <span style="white-space:pre-line;color:#777;font-style:italic">“, however”</span> with <span style="white-space:pre-line;color:#777;font-style:italic">“. If”</span></div></div></div><div class="reply-list"><div id="AAAAMzVXiZY" class="reply-box"><div class="author-picture"><img src="https://lh3.googleusercontent.com/a-/AOh14GjoOXwuji1Q0p6FX0IRu-PBtgN-CxWdF8wvbNemn1A=s50-c-k-no" width="24" height="24" alt="Author profile image"></div><div class="reply-data"><div class="user-name">Evan Ovadia</div><div class="comment-action">Rejected suggestion</div><div class="comment-content"></div><div class="created-date">Jun 14, 2021, 4:45 PM</div></div></div></div></div></div><div id="AAAAMzVXiYk" class="comment"><div class="json">null</div><div class="author-picture"><img src="https://lh3.googleusercontent.com/a-/AOh14GjoOXwuji1Q0p6FX0IRu-PBtgN-CxWdF8wvbNemn1A=s50-c-k-no" width="48" height="48" alt="Author profile image"></div><div class="comment-data"><div class="comment-box"><div class="user-name">Evan Ovadia</div><div class="comment-status">Resolved</div><div class="created-date">Jun 14, 2021, 4:44 PM(edited: Jun 14, 2021, 9:20 PM)</div><div class="comment-context"><div class="comment-context-intro">Selected text:</div><div class="comment-context-value">co</div></div><div class="comment-content">Does this know that it&#39;s a feature for stdlib because it came after the stdlib: argument?</div></div><div class="reply-list"><div id="AAAAMzVXidc" class="reply-box"><div class="author-picture"><img src="https://lh3.googleusercontent.com/a-/AOh14GifZkxh5NouSuXsOZVVeCYnegULJ-H-NkZhYe5x1Q=s50-c-k-no" width="24" height="24" alt="Author profile image"></div><div class="reply-data"><div class="user-name">Julian Lazaras</div><div class="comment-content">yes, we could also make it --test or --compile</div><div class="created-date">Jun 14, 2021, 5:01 PM</div></div></div><div id="AAAAM1OZIa0" class="reply-box"><div class="author-picture"><img src="https://lh3.googleusercontent.com/a-/AOh14GifZkxh5NouSuXsOZVVeCYnegULJ-H-NkZhYe5x1Q=s50-c-k-no" width="24" height="24" alt="Author profile image"></div><div class="reply-data"><div class="user-name">Julian Lazaras</div><div class="comment-action">Marked as resolved</div><div class="comment-content"></div><div class="created-date">Jun 14, 2021, 9:20 PM</div></div></div></div></div></div><div id="AAAAMzVXiYc" class="comment"><div class="json">null</div><div class="author-picture"><img src="https://lh3.googleusercontent.com/a-/AOh14GjoOXwuji1Q0p6FX0IRu-PBtgN-CxWdF8wvbNemn1A=s50-c-k-no" width="48" height="48" alt="Author profile image"></div><div class="comment-data"><div class="comment-box"><div class="user-name">Evan Ovadia</div><div class="comment-status"></div><div class="created-date">Jun 14, 2021, 4:43 PM(edited: Jun 14, 2021, 5:03 PM)</div><div class="comment-context"><div class="comment-context-intro">Selected text:</div><div class="comment-context-value">mand</div></div><div class="comment-content">Does this work because theres a 1:1 mapping of directory to feature? So Valestrom can know that the stdlib.command feature is in the /command directory?</div></div><div class="reply-list"><div id="AAAAMzVXidk" class="reply-box"><div class="author-picture"><img src="https://lh3.googleusercontent.com/a-/AOh14GifZkxh5NouSuXsOZVVeCYnegULJ-H-NkZhYe5x1Q=s50-c-k-no" width="24" height="24" alt="Author profile image"></div><div class="reply-data"><div class="user-name">Julian Lazaras</div><div class="comment-content">exactly</div><div class="created-date">Jun 14, 2021, 5:02 PM</div></div></div><div id="AAAAMzVXido" class="reply-box"><div class="author-picture"><img src="https://lh3.googleusercontent.com/a-/AOh14GifZkxh5NouSuXsOZVVeCYnegULJ-H-NkZhYe5x1Q=s50-c-k-no" width="24" height="24" alt="Author profile image"></div><div class="reply-data"><div class="user-name">Julian Lazaras</div><div class="comment-content">I figured it was simple and straight forward, tho I did also mean --features command:src/command path:src/path</div><div class="created-date">Jun 14, 2021, 5:03 PM</div></div></div></div></div></div><div id="AAAAMzVXiYE" class="comment"><div class="json">null</div><div class="author-picture"><img src="https://lh3.googleusercontent.com/a-/AOh14GjoOXwuji1Q0p6FX0IRu-PBtgN-CxWdF8wvbNemn1A=s50-c-k-no" width="48" height="48" alt="Author profile image"></div><div class="comment-data"><div class="comment-box"><div class="user-name">Evan Ovadia</div><div class="comment-status">Resolved</div><div class="created-date">Jun 14, 2021, 4:41 PM(edited: Jun 14, 2021, 9:18 PM)</div><div class="comment-context"><div class="comment-context-intro">Selected text:</div><div class="comment-context-value">--features command</div></div><div class="comment-content">Does this work because theres a 1:1 mapping of directory to feature? So Valestrom can know that the stdlib.command feature is in the /command directory?</div></div><div class="reply-list"><div id="AAAAMzVXiYU" class="reply-box"><div class="author-picture"><img src="https://lh3.googleusercontent.com/a-/AOh14GjoOXwuji1Q0p6FX0IRu-PBtgN-CxWdF8wvbNemn1A=s50-c-k-no" width="24" height="24" alt="Author profile image"></div><div class="reply-data"><div class="user-name">Evan Ovadia</div><div class="comment-action">Marked as resolved</div><div class="comment-content"></div><div class="created-date">Jun 14, 2021, 4:43 PM</div></div></div><div id="AAAAMwNWmGo" class="reply-box"><div class="author-picture"><img src="https://lh3.googleusercontent.com/a-/AOh14GjoOXwuji1Q0p6FX0IRu-PBtgN-CxWdF8wvbNemn1A=s50-c-k-no" width="24" height="24" alt="Author profile image"></div><div class="reply-data"><div class="user-name">Evan Ovadia</div><div class="comment-action">Re-opened</div><div class="comment-content">(whyd you close this? i dont see an answer or edit)</div><div class="created-date">Jun 14, 2021, 8:08 PM</div></div></div><div id="AAAAM1OZIaw" class="reply-box"><div class="author-picture"><img src="https://lh3.googleusercontent.com/a-/AOh14GifZkxh5NouSuXsOZVVeCYnegULJ-H-NkZhYe5x1Q=s50-c-k-no" width="24" height="24" alt="Author profile image"></div><div class="reply-data"><div class="user-name">Julian Lazaras</div><div class="comment-action">Marked as resolved</div><div class="comment-content"></div><div class="created-date">Jun 14, 2021, 9:18 PM</div></div></div></div></div></div><div id="AAAAMzVXiXk" class="comment"><div class="json">null</div><div class="author-picture"><img src="https://lh3.googleusercontent.com/a-/AOh14GjoOXwuji1Q0p6FX0IRu-PBtgN-CxWdF8wvbNemn1A=s50-c-k-no" width="48" height="48" alt="Author profile image"></div><div class="comment-data"><div class="comment-box"><div class="user-name">Evan Ovadia</div><div class="comment-status">Resolved</div><div class="created-date">Jun 14, 2021, 4:28 PM(edited: Jun 15, 2021, 12:51 AM)</div><div class="comment-context"><div class="comment-context-intro">Selected text:</div><div class="comment-context-value">is the core of the namespace</div></div><div class="comment-content">wdym here?</div></div><div class="reply-list"><div id="AAAAM1aPSKY" class="reply-box"><div class="author-picture"><img src="https://lh3.googleusercontent.com/a-/AOh14GjoOXwuji1Q0p6FX0IRu-PBtgN-CxWdF8wvbNemn1A=s50-c-k-no" width="24" height="24" alt="Author profile image"></div><div class="reply-data"><div class="user-name">Evan Ovadia</div><div class="comment-action">Marked as resolved</div><div class="comment-content"></div><div class="created-date">Jun 15, 2021, 12:51 AM</div></div></div></div></div></div><div id="AAAAMzVXiXg" class="comment"><div class="json">null</div><div class="author-picture"><img src="https://lh3.googleusercontent.com/a-/AOh14GjoOXwuji1Q0p6FX0IRu-PBtgN-CxWdF8wvbNemn1A=s50-c-k-no" width="48" height="48" alt="Author profile image"></div><div class="comment-data"><div class="comment-box"><div class="user-name">Evan Ovadia</div><div class="comment-status">Resolved</div><div class="created-date">Jun 14, 2021, 4:27 PM(edited: Jun 15, 2021, 12:52 AM)</div><div class="comment-context"><div class="comment-context-intro">Selected text:</div><div class="comment-context-value">project has dependencies for all namespaces</div></div><div class="comment-content">Is this referring to how a feature specifies which namespaces it depends on (via path)?</div></div><div class="reply-list"><div id="AAAAM1aPSKc" class="reply-box"><div class="author-picture"><img src="https://lh3.googleusercontent.com/a-/AOh14GjoOXwuji1Q0p6FX0IRu-PBtgN-CxWdF8wvbNemn1A=s50-c-k-no" width="24" height="24" alt="Author profile image"></div><div class="reply-data"><div class="user-name">Evan Ovadia</div><div class="comment-action">Marked as resolved</div><div class="comment-content"></div><div class="created-date">Jun 15, 2021, 12:52 AM</div></div></div></div></div></div><div id="AAAAMzVXiXc" class="comment"><div class="json">null</div><div class="author-picture"><img src="https://lh3.googleusercontent.com/a-/AOh14GjoOXwuji1Q0p6FX0IRu-PBtgN-CxWdF8wvbNemn1A=s50-c-k-no" width="48" height="48" alt="Author profile image"></div><div class="comment-data"><div class="comment-box"><div class="user-name">Evan Ovadia</div><div class="comment-status"></div><div class="created-date">Jun 14, 2021, 4:27 PM(edited: Jun 14, 2021, 5:00 PM)</div><div class="comment-context"><div class="comment-context-intro">Selected text:</div><div class="comment-context-value">project</div></div><div class="comment-content">Meant feature here?</div></div><div class="reply-list"><div id="AAAAMzVXidI" class="reply-box"><div class="author-picture"><img src="https://lh3.googleusercontent.com/a-/AOh14GifZkxh5NouSuXsOZVVeCYnegULJ-H-NkZhYe5x1Q=s50-c-k-no" width="24" height="24" alt="Author profile image"></div><div class="reply-data"><div class="user-name">Julian Lazaras</div><div class="comment-content">no I did not mean feature, this is a reiteration of the notion that features containerizes namespaces as something other then a project who happens to be located in the directory tree of another project</div><div class="created-date">Jun 14, 2021, 5:00 PM</div></div></div></div></div></div><div id="AAAAMzVXiXY" class="comment"><div class="json">null</div><div class="author-picture"><img src="https://lh3.googleusercontent.com/a-/AOh14GjoOXwuji1Q0p6FX0IRu-PBtgN-CxWdF8wvbNemn1A=s50-c-k-no" width="48" height="48" alt="Author profile image"></div><div class="comment-data"><div class="comment-box"><div class="user-name">Evan Ovadia</div><div class="comment-status">Resolved</div><div class="created-date">Jun 14, 2021, 4:26 PM(edited: Jun 14, 2021, 9:25 PM)</div><div class="comment-context"><div class="comment-context-intro">Selected text:</div><div class="comment-context-value">features = [“command”]</div></div><div class="comment-content">this is in the [[dependencies]] block above?</div></div><div class="reply-list"><div id="AAAAMzVXidE" class="reply-box"><div class="author-picture"><img src="https://lh3.googleusercontent.com/a-/AOh14GifZkxh5NouSuXsOZVVeCYnegULJ-H-NkZhYe5x1Q=s50-c-k-no" width="24" height="24" alt="Author profile image"></div><div class="reply-data"><div class="user-name">Julian Lazaras</div><div class="comment-content">? this comment is confusing what do you mean?</div><div class="created-date">Jun 14, 2021, 4:58 PM</div></div></div><div id="AAAAM1OZIbQ" class="reply-box"><div class="author-picture"><img src="https://lh3.googleusercontent.com/a-/AOh14GifZkxh5NouSuXsOZVVeCYnegULJ-H-NkZhYe5x1Q=s50-c-k-no" width="24" height="24" alt="Author profile image"></div><div class="reply-data"><div class="user-name">Julian Lazaras</div><div class="comment-action">Marked as resolved</div><div class="comment-content"></div><div class="created-date">Jun 14, 2021, 9:25 PM</div></div></div></div></div></div><div id="AAAAMzVXiXQ" class="comment"><div class="json">null</div><div class="author-picture"><img src="https://lh3.googleusercontent.com/a-/AOh14GjoOXwuji1Q0p6FX0IRu-PBtgN-CxWdF8wvbNemn1A=s50-c-k-no" width="48" height="48" alt="Author profile image"></div><div class="comment-data"><div class="comment-box"><div class="user-name">Evan Ovadia</div><div class="comment-status"></div><div class="created-date">Jun 14, 2021, 4:25 PM(edited: Jun 14, 2021, 4:56 PM)</div><div class="comment-content"><div style="font-size:13px;color:#333"><span style="font-weight:bold">Add:</span> <span style="white-space:pre-line;color:#777;font-style:italic">“Another example, building on the one above:”</span></div></div></div><div class="reply-list"><div id="AAAAMzVXicM" class="reply-box"><div class="author-picture"><img src="https://lh3.googleusercontent.com/a-/AOh14GifZkxh5NouSuXsOZVVeCYnegULJ-H-NkZhYe5x1Q=s50-c-k-no" width="24" height="24" alt="Author profile image"></div><div class="reply-data"><div class="user-name">Julian Lazaras</div><div class="comment-action">Accepted suggestion</div><div class="comment-content"></div><div class="created-date">Jun 14, 2021, 4:56 PM</div></div></div></div></div></div><div id="AAAAMzVXiXE" class="comment"><div class="json">null</div><div class="author-picture"><img src="https://lh3.googleusercontent.com/a-/AOh14GjoOXwuji1Q0p6FX0IRu-PBtgN-CxWdF8wvbNemn1A=s50-c-k-no" width="48" height="48" alt="Author profile image"></div><div class="comment-data"><div class="comment-box"><div class="user-name">Evan Ovadia</div><div class="comment-status">Resolved</div><div class="created-date">Jun 14, 2021, 4:23 PM(edited: Jun 14, 2021, 4:57 PM)</div><div class="comment-context"><div class="comment-context-intro">Selected text:</div><div class="comment-context-value">not features.imports</div></div><div class="comment-content">is this &quot;not&quot; on purpose?</div></div><div class="reply-list"><div id="AAAAMzVXicU" class="reply-box"><div class="author-picture"><img src="https://lh3.googleusercontent.com/a-/AOh14GifZkxh5NouSuXsOZVVeCYnegULJ-H-NkZhYe5x1Q=s50-c-k-no" width="24" height="24" alt="Author profile image"></div><div class="reply-data"><div class="user-name">Julian Lazaras</div><div class="comment-content">haha I meant NOTE</div><div class="created-date">Jun 14, 2021, 4:56 PM</div></div></div><div id="AAAAMzVXicg" class="reply-box"><div class="author-picture"><img src="https://lh3.googleusercontent.com/a-/AOh14GifZkxh5NouSuXsOZVVeCYnegULJ-H-NkZhYe5x1Q=s50-c-k-no" width="24" height="24" alt="Author profile image"></div><div class="reply-data"><div class="user-name">Julian Lazaras</div><div class="comment-action">Marked as resolved</div><div class="comment-content"></div><div class="created-date">Jun 14, 2021, 4:57 PM</div></div></div></div></div></div><div id="AAAAMzVXiW8" class="comment"><div class="json">null</div><div class="author-picture"><img src="https://lh3.googleusercontent.com/a-/AOh14GjoOXwuji1Q0p6FX0IRu-PBtgN-CxWdF8wvbNemn1A=s50-c-k-no" width="48" height="48" alt="Author profile image"></div><div class="comment-data"><div class="comment-box"><div class="user-name">Evan Ovadia</div><div class="comment-status">Resolved</div><div class="created-date">Jun 14, 2021, 4:22 PM(edited: Jun 14, 2021, 9:24 PM)</div><div class="comment-context"><div class="comment-context-intro">Selected text:</div><div class="comment-context-value">[[features.imports]]</div></div><div class="comment-content">I&#39;m guessing we&#39;d call this command <i>after</i> invoking Midas, so that it can see the .h files Midas generates?</div></div><div class="reply-list"><div id="AAAAMzVXicA" class="reply-box"><div class="author-picture"><img src="https://lh3.googleusercontent.com/a-/AOh14GifZkxh5NouSuXsOZVVeCYnegULJ-H-NkZhYe5x1Q=s50-c-k-no" width="24" height="24" alt="Author profile image"></div><div class="reply-data"><div class="user-name">Julian Lazaras</div><div class="comment-content">yes</div><div class="created-date">Jun 14, 2021, 4:55 PM</div></div></div><div id="AAAAMzVXicE" class="reply-box"><div class="author-picture"><img src="https://lh3.googleusercontent.com/a-/AOh14GifZkxh5NouSuXsOZVVeCYnegULJ-H-NkZhYe5x1Q=s50-c-k-no" width="24" height="24" alt="Author profile image"></div><div class="reply-data"><div class="user-name">Julian Lazaras</div><div class="comment-action">Marked as resolved</div><div class="comment-content"></div><div class="created-date">Jun 14, 2021, 4:55 PM</div></div></div><div id="AAAAMwNWmGg" class="reply-box"><div class="author-picture"><img src="https://lh3.googleusercontent.com/a-/AOh14GjoOXwuji1Q0p6FX0IRu-PBtgN-CxWdF8wvbNemn1A=s50-c-k-no" width="24" height="24" alt="Author profile image"></div><div class="reply-data"><div class="user-name">Evan Ovadia</div><div class="comment-action">Re-opened</div><div class="comment-content">Replying to a comment and then closing it isnt helpful, I only saw it because I was on the lookout for it in my email. Remember, edit the doc to address the question <i>then</i> close the comment thread.</div><div class="created-date">Jun 14, 2021, 8:01 PM</div></div></div><div id="AAAAM1OZIbI" class="reply-box"><div class="author-picture"><img src="https://lh3.googleusercontent.com/a-/AOh14GifZkxh5NouSuXsOZVVeCYnegULJ-H-NkZhYe5x1Q=s50-c-k-no" width="24" height="24" alt="Author profile image"></div><div class="reply-data"><div class="user-name">Julian Lazaras</div><div class="comment-action">Marked as resolved</div><div class="comment-content"></div><div class="created-date">Jun 14, 2021, 9:24 PM</div></div></div></div></div></div><div id="AAAAMzVXiW0" class="comment"><div class="json">null</div><div class="author-picture"><img src="https://lh3.googleusercontent.com/a-/AOh14GjoOXwuji1Q0p6FX0IRu-PBtgN-CxWdF8wvbNemn1A=s50-c-k-no" width="48" height="48" alt="Author profile image"></div><div class="comment-data"><div class="comment-box"><div class="user-name">Evan Ovadia</div><div class="comment-status">Resolved</div><div class="created-date">Jun 14, 2021, 4:21 PM(edited: Jun 14, 2021, 9:22 PM)</div><div class="comment-content">When the feature is enabled, we compile everything in path right?</div></div><div class="reply-list"><div id="AAAAMzVXibg" class="reply-box"><div class="author-picture"><img src="https://lh3.googleusercontent.com/a-/AOh14GifZkxh5NouSuXsOZVVeCYnegULJ-H-NkZhYe5x1Q=s50-c-k-no" width="24" height="24" alt="Author profile image"></div><div class="reply-data"><div class="user-name">Julian Lazaras</div><div class="comment-content">yes</div><div class="created-date">Jun 14, 2021, 4:55 PM</div></div></div><div id="AAAAMzVXibk" class="reply-box"><div class="author-picture"><img src="https://lh3.googleusercontent.com/a-/AOh14GifZkxh5NouSuXsOZVVeCYnegULJ-H-NkZhYe5x1Q=s50-c-k-no" width="24" height="24" alt="Author profile image"></div><div class="reply-data"><div class="user-name">Julian Lazaras</div><div class="comment-action">Marked as resolved</div><div class="comment-content"></div><div class="created-date">Jun 14, 2021, 4:55 PM</div></div></div><div id="AAAAMwNWmG4" class="reply-box"><div class="author-picture"><img src="https://lh3.googleusercontent.com/a-/AOh14GjoOXwuji1Q0p6FX0IRu-PBtgN-CxWdF8wvbNemn1A=s50-c-k-no" width="24" height="24" alt="Author profile image"></div><div class="reply-data"><div class="user-name">Evan Ovadia</div><div class="comment-action">Re-opened</div><div class="comment-content">Please edit an answer in, rather than just replying and closing a comment.</div><div class="created-date">Jun 14, 2021, 8:10 PM</div></div></div><div id="AAAAM1OZIa4" class="reply-box"><div class="author-picture"><img src="https://lh3.googleusercontent.com/a-/AOh14GifZkxh5NouSuXsOZVVeCYnegULJ-H-NkZhYe5x1Q=s50-c-k-no" width="24" height="24" alt="Author profile image"></div><div class="reply-data"><div class="user-name">Julian Lazaras</div><div class="comment-content">I responded to this point above</div><div class="created-date">Jun 14, 2021, 9:22 PM</div></div></div><div id="AAAAM1OZIa8" class="reply-box"><div class="author-picture"><img src="https://lh3.googleusercontent.com/a-/AOh14GifZkxh5NouSuXsOZVVeCYnegULJ-H-NkZhYe5x1Q=s50-c-k-no" width="24" height="24" alt="Author profile image"></div><div class="reply-data"><div class="user-name">Julian Lazaras</div><div class="comment-action">Marked as resolved</div><div class="comment-content"></div><div class="created-date">Jun 14, 2021, 9:22 PM</div></div></div></div></div></div><div id="AAAAMzVXiWg" class="comment"><div class="json">null</div><div class="author-picture"><img src="https://lh3.googleusercontent.com/a-/AOh14GjoOXwuji1Q0p6FX0IRu-PBtgN-CxWdF8wvbNemn1A=s50-c-k-no" width="48" height="48" alt="Author profile image"></div><div class="comment-data"><div class="comment-box"><div class="user-name">Evan Ovadia</div><div class="comment-status"></div><div class="created-date">Jun 14, 2021, 4:18 PM(edited: Jun 14, 2021, 4:55 PM)</div><div class="comment-content"><div style="font-size:13px;color:#333"><span style="font-weight:bold">Delete space</span></div><div style="padding-bottom:8px"></div><div style="font-size:13px;color:#333"><span style="font-weight:bold">Add:</span> <span style="white-space:pre-line;color:#777;font-style:italic">“. So, if the above feature is enabled, this will call a command with these args:”</span></div></div></div><div class="reply-list"><div id="AAAAMzVXib0" class="reply-box"><div class="author-picture"><img src="https://lh3.googleusercontent.com/a-/AOh14GifZkxh5NouSuXsOZVVeCYnegULJ-H-NkZhYe5x1Q=s50-c-k-no" width="24" height="24" alt="Author profile image"></div><div class="reply-data"><div class="user-name">Julian Lazaras</div><div class="comment-action">Accepted suggestion</div><div class="comment-content"></div><div class="created-date">Jun 14, 2021, 4:55 PM</div></div></div></div></div></div><div id="AAAAMzVXiWY" class="comment"><div class="json">null</div><div class="author-picture"><img src="https://lh3.googleusercontent.com/a-/AOh14GjoOXwuji1Q0p6FX0IRu-PBtgN-CxWdF8wvbNemn1A=s50-c-k-no" width="48" height="48" alt="Author profile image"></div><div class="comment-data"><div class="comment-box"><div class="user-name">Evan Ovadia</div><div class="comment-status"></div><div class="created-date">Jun 14, 2021, 4:18 PM(edited: Jun 14, 2021, 4:55 PM)</div><div class="comment-content"><div style="font-size:13px;color:#333"><span style="font-weight:bold">Delete:</span> <span style="white-space:pre-line;color:#777;font-style:italic">“if this feature is enabled, call this command with these args,”</span></div></div></div><div class="reply-list"><div id="AAAAMzVXibo" class="reply-box"><div class="author-picture"><img src="https://lh3.googleusercontent.com/a-/AOh14GifZkxh5NouSuXsOZVVeCYnegULJ-H-NkZhYe5x1Q=s50-c-k-no" width="24" height="24" alt="Author profile image"></div><div class="reply-data"><div class="user-name">Julian Lazaras</div><div class="comment-action">Accepted suggestion</div><div class="comment-content"></div><div class="created-date">Jun 14, 2021, 4:55 PM</div></div></div></div></div></div><div id="AAAAMzVXiWE" class="comment"><div class="json">null</div><div class="author-picture"><img src="https://lh3.googleusercontent.com/a-/AOh14GjoOXwuji1Q0p6FX0IRu-PBtgN-CxWdF8wvbNemn1A=s50-c-k-no" width="48" height="48" alt="Author profile image"></div><div class="comment-data"><div class="comment-box"><div class="user-name">Evan Ovadia</div><div class="comment-status"></div><div class="created-date">Jun 14, 2021, 4:17 PM(edited: Jun 14, 2021, 9:22 PM)</div><div class="comment-content"><div style="font-size:13px;color:#333"><span style="font-weight:bold">Add:</span> <span style="white-space:pre-line;color:#777;font-style:italic">“A basic example:”</span></div></div></div><div class="reply-list"><div id="AAAAM1OZIbA" class="reply-box"><div class="author-picture"><img src="https://lh3.googleusercontent.com/a-/AOh14GifZkxh5NouSuXsOZVVeCYnegULJ-H-NkZhYe5x1Q=s50-c-k-no" width="24" height="24" alt="Author profile image"></div><div class="reply-data"><div class="user-name">Julian Lazaras</div><div class="comment-action">Accepted suggestion</div><div class="comment-content"></div><div class="created-date">Jun 14, 2021, 9:22 PM</div></div></div></div></div></div><div id="AAAAMzVXiVk" class="comment"><div class="json">null</div><div class="author-picture"><img src="https://lh3.googleusercontent.com/a-/AOh14GjoOXwuji1Q0p6FX0IRu-PBtgN-CxWdF8wvbNemn1A=s50-c-k-no" width="48" height="48" alt="Author profile image"></div><div class="comment-data"><div class="comment-box"><div class="user-name">Evan Ovadia</div><div class="comment-status">Resolved</div><div class="created-date">Jun 14, 2021, 4:00 PM(edited: Jun 14, 2021, 4:54 PM)</div><div class="comment-context"><div class="comment-context-intro">Selected text:</div><div class="comment-context-value">both including specific vale projects as dependencies for these features</div></div><div class="comment-content">Did you mean including specific namespaces here? If not, are we building on K and using its same notion of projects? (If so, maybe can just say &quot;we use projects like K&quot; to make that clear)</div></div><div class="reply-list"><div id="AAAAMzVXibI" class="reply-box"><div class="author-picture"><img src="https://lh3.googleusercontent.com/a-/AOh14GifZkxh5NouSuXsOZVVeCYnegULJ-H-NkZhYe5x1Q=s50-c-k-no" width="24" height="24" alt="Author profile image"></div><div class="reply-data"><div class="user-name">Julian Lazaras</div><div class="comment-content">no I mean external dependencies try this</div><div class="created-date">Jun 14, 2021, 4:54 PM</div></div></div><div id="AAAAMzVXibM" class="reply-box"><div class="author-picture"><img src="https://lh3.googleusercontent.com/a-/AOh14GifZkxh5NouSuXsOZVVeCYnegULJ-H-NkZhYe5x1Q=s50-c-k-no" width="24" height="24" alt="Author profile image"></div><div class="reply-data"><div class="user-name">Julian Lazaras</div><div class="comment-action">Marked as resolved</div><div class="comment-content"></div><div class="created-date">Jun 14, 2021, 4:54 PM</div></div></div></div></div></div><div id="AAAAMhAC3D8" class="comment"><div class="json">null</div><div class="author-picture"><img src="https://lh3.googleusercontent.com/a-/AOh14GifZkxh5NouSuXsOZVVeCYnegULJ-H-NkZhYe5x1Q=s50-c-k-no" width="48" height="48" alt="Author profile image"></div><div class="comment-data"><div class="comment-box"><div class="user-name">Julian Lazaras</div><div class="comment-status"></div><div class="created-date">Jun 14, 2021, 7:04 AM(edited: Jun 15, 2021, 1:00 AM)</div><div class="comment-context"><div class="comment-context-intro">Selected text:</div><div class="comment-context-value">namespace stdlib.networking.sockets;</div></div><div class="comment-content">I feel like this will just confuse me, since we have 1:1 with directories (haha one of my largest sources of headaches when programming in java, almost literally )</div></div><div class="reply-list"><div id="AAAAM1aPSKQ" class="reply-box"><div class="author-picture"><img src="https://lh3.googleusercontent.com/a-/AOh14GjoOXwuji1Q0p6FX0IRu-PBtgN-CxWdF8wvbNemn1A=s50-c-k-no" width="24" height="24" alt="Author profile image"></div><div class="reply-data"><div class="user-name">Evan Ovadia</div><div class="comment-content">please move this critique to the drawbacks section</div><div class="created-date">Jun 15, 2021, 12:49 AM</div></div></div><div id="AAAAM1aPSLA" class="reply-box"><div class="author-picture"><img src="https://lh3.googleusercontent.com/a-/AOh14GjoOXwuji1Q0p6FX0IRu-PBtgN-CxWdF8wvbNemn1A=s50-c-k-no" width="24" height="24" alt="Author profile image"></div><div class="reply-data"><div class="user-name">Evan Ovadia</div><div class="comment-content">oh also, see next paragraph, which might address your concern</div><div class="created-date">Jun 15, 2021, 1:00 AM</div></div></div></div></div></div><div id="AAAAMhAC3D0" class="comment"><div class="json">null</div><div class="author-picture"><img src="https://lh3.googleusercontent.com/a-/AOh14GifZkxh5NouSuXsOZVVeCYnegULJ-H-NkZhYe5x1Q=s50-c-k-no" width="48" height="48" alt="Author profile image"></div><div class="comment-data"><div class="comment-box"><div class="user-name">Julian Lazaras</div><div class="comment-status"></div><div class="created-date">Jun 14, 2021, 6:57 AM</div><div class="comment-context"><div class="comment-context-intro">Selected text:</div><div class="comment-context-value">stdlib</div></div><div class="comment-content">some may end up finding this annoying, but I honestly think it a good convention, and this should keep things fairly unique</div></div><div class="reply-list"></div></div></div><div id="AAAAMhAC3Do" class="comment"><div class="json">null</div><div class="author-picture"><img src="https://lh3.googleusercontent.com/a-/AOh14GifZkxh5NouSuXsOZVVeCYnegULJ-H-NkZhYe5x1Q=s50-c-k-no" width="48" height="48" alt="Author profile image"></div><div class="comment-data"><div class="comment-box"><div class="user-name">Julian Lazaras</div><div class="comment-status"></div><div class="created-date">Jun 14, 2021, 6:22 AM</div><div class="comment-context"><div class="comment-context-intro">Selected text:</div><div class="comment-context-value">fn test() int entry {<br>  suite = TestSuite();<br>  suite.test(&amp;quot;splice&amp;quot;, {<br>    splice(&amp;quot;foo&amp;quot;, 1, 1, &amp;quot;lol&amp;quot;) should_equal &amp;quot;flolo&amp;quot;;<br>  });<br>  ret (suite).finish();<br>}</div></div><div class="comment-content">something like this was my theoretical way to jankily get features working without modifications to Valestrom, basically it&#39;d create arbitrary vale code just so everything in a given feature gets compiled (haha)</div></div><div class="reply-list"></div></div></div><div id="AAAAMhAC3Dk" class="comment"><div class="json">null</div><div class="author-picture"><img src="https://lh3.googleusercontent.com/a-/AOh14GifZkxh5NouSuXsOZVVeCYnegULJ-H-NkZhYe5x1Q=s50-c-k-no" width="48" height="48" alt="Author profile image"></div><div class="comment-data"><div class="comment-box"><div class="user-name">Julian Lazaras</div><div class="comment-status"></div><div class="created-date">Jun 14, 2021, 6:20 AM</div><div class="comment-context"><div class="comment-context-intro">Selected text:</div><div class="comment-context-value">./build.fountain</div></div><div class="comment-content">I should add tho, it does look pretty cool, I&#39;m honestly a fan of make, I just don&#39;t think it compares to Cargo/fountain, especially because its not a package manager and build system in one, its just a build tool (to make it a package manager you&#39;d depend on something like git, which while fountain does, fountain provides a nice wrapper around git, so people don&#39;t have to copy git hashes in order to have reproducible versioning)</div></div><div class="reply-list"></div></div></div><div id="AAAAMhAC3Dg" class="comment"><div class="json">null</div><div class="author-picture"><img src="https://lh3.googleusercontent.com/a-/AOh14GifZkxh5NouSuXsOZVVeCYnegULJ-H-NkZhYe5x1Q=s50-c-k-no" width="48" height="48" alt="Author profile image"></div><div class="comment-data"><div class="comment-box"><div class="user-name">Julian Lazaras</div><div class="comment-status">Resolved</div><div class="created-date">Jun 14, 2021, 6:19 AM(edited: Jun 15, 2021, 12:57 AM)</div><div class="comment-context"><div class="comment-context-intro">Selected text:</div><div class="comment-context-value">./build.fountain</div></div><div class="comment-content">this seems to basically be a new form of make, which while interesting is somewhat redundant as the ability to define variables, and run commands that depend on those variables is a planned to be added to fountain, and I have started doing so in my local version (may be in upstream I haven&#39;t checked), if you want to create such a language, of course go for it, but what with make available through imports and build.vale&#39;s inclusion of stdlib, as well as import&#39;s ability to run any command, and the existence of build.vale, it seems to me somewhat redundant to create a new make like language</div></div><div class="reply-list"><div id="AAAAM1aPSKU" class="reply-box"><div class="author-picture"><img src="https://lh3.googleusercontent.com/a-/AOh14GjoOXwuji1Q0p6FX0IRu-PBtgN-CxWdF8wvbNemn1A=s50-c-k-no" width="24" height="24" alt="Author profile image"></div><div class="reply-data"><div class="user-name">Evan Ovadia</div><div class="comment-content">please move this critique to a drawbacks section</div><div class="created-date">Jun 15, 2021, 12:50 AM</div></div></div><div id="AAAAM1aPSKg" class="reply-box"><div class="author-picture"><img src="https://lh3.googleusercontent.com/a-/AOh14GjoOXwuji1Q0p6FX0IRu-PBtgN-CxWdF8wvbNemn1A=s50-c-k-no" width="24" height="24" alt="Author profile image"></div><div class="reply-data"><div class="user-name">Evan Ovadia</div><div class="comment-content">nevermind, i see you did, thanks!</div><div class="created-date">Jun 15, 2021, 12:57 AM</div></div></div><div id="AAAAM1aPSKk" class="reply-box"><div class="author-picture"><img src="https://lh3.googleusercontent.com/a-/AOh14GjoOXwuji1Q0p6FX0IRu-PBtgN-CxWdF8wvbNemn1A=s50-c-k-no" width="24" height="24" alt="Author profile image"></div><div class="reply-data"><div class="user-name">Evan Ovadia</div><div class="comment-action">Marked as resolved</div><div class="comment-content"></div><div class="created-date">Jun 15, 2021, 12:57 AM</div></div></div></div></div></div><div id="AAAAMhAC3Dc" class="comment"><div class="json">null</div><div class="author-picture"><img src="https://lh3.googleusercontent.com/a-/AOh14GifZkxh5NouSuXsOZVVeCYnegULJ-H-NkZhYe5x1Q=s50-c-k-no" width="48" height="48" alt="Author profile image"></div><div class="comment-data"><div class="comment-box"><div class="user-name">Julian Lazaras</div><div class="comment-status"></div><div class="created-date">Jun 14, 2021, 6:15 AM</div><div class="comment-context"><div class="comment-context-intro">Selected text:</div><div class="comment-context-value">I would recommend something like Make, where it&amp;#39;s just calling commands</div></div><div class="comment-content">I believe I have mentioned, that while fairly unreliable, this is completely an option</div></div><div class="reply-list"></div></div></div><div id="AAAAMhAC3DY" class="comment"><div class="json">null</div><div class="author-picture"><img src="https://lh3.googleusercontent.com/a-/AOh14GifZkxh5NouSuXsOZVVeCYnegULJ-H-NkZhYe5x1Q=s50-c-k-no" width="48" height="48" alt="Author profile image"></div><div class="comment-data"><div class="comment-box"><div class="user-name">Julian Lazaras</div><div class="comment-status"></div><div class="created-date">Jun 14, 2021, 6:15 AM</div><div class="comment-context"><div class="comment-context-intro">Selected text:</div><div class="comment-context-value">An interesting alternative concept (or that can be used in tandem) is for allowing the user to define their own compilers for other languages through the compiler itself</div></div><div class="comment-content">while a cool idea, people shouldn&#39;t be interacting with Valestrom of valec ideally, see Cargo, but this does give me the idea to have an abstract command for example <br>[[import]]<br>command = &quot;$CXXCOMPILER&quot;<br><br>which will like for compilers such as clang, and gcc, or in build.vale this can be evoked manually by checking if CXXCOMPILER is among variables passed into build.vale config</div></div><div class="reply-list"></div></div></div><div id="AAAAMhAC3DU" class="comment"><div class="json">null</div><div class="author-picture"><img src="https://lh3.googleusercontent.com/a-/AOh14GifZkxh5NouSuXsOZVVeCYnegULJ-H-NkZhYe5x1Q=s50-c-k-no" width="48" height="48" alt="Author profile image"></div><div class="comment-data"><div class="comment-box"><div class="user-name">Julian Lazaras</div><div class="comment-status"></div><div class="created-date">Jun 14, 2021, 6:09 AM</div><div class="comment-context"><div class="comment-context-intro">Selected text:</div><div class="comment-context-value">Valestrom Outputs Separate .vast Files Per (Sub)Project</div></div><div class="comment-content">this would be great for incremental compilation and can work for features as well</div></div><div class="reply-list"></div></div></div><div id="AAAAMhAC3DQ" class="comment"><div class="json">null</div><div class="author-picture"><img src="https://lh3.googleusercontent.com/a-/AOh14GifZkxh5NouSuXsOZVVeCYnegULJ-H-NkZhYe5x1Q=s50-c-k-no" width="48" height="48" alt="Author profile image"></div><div class="comment-data"><div class="comment-box"><div class="user-name">Julian Lazaras</div><div class="comment-status"></div><div class="created-date">Jun 14, 2021, 6:08 AM</div><div class="comment-context"><div class="comment-context-intro">Selected text:</div><div class="comment-context-value">Alternative K: A + M + Projects</div></div><div class="comment-content">This approach is the exact same as features, except for who tells who, the fact that features don&#39;t force a src/ native/, and entire extract fountain.toml, and the ability for a library depending on mathlib, to say what it doesn&#39;t need. in Alternative E fountain tells valestrom, in this alternative Valestrom tells fountain (basically)</div></div><div class="reply-list"></div></div></div><div id="AAAAM0qBYZM" class="comment"><div class="json">null</div><div class="author-picture"><img src="https://lh3.googleusercontent.com/a-/AOh14GjoOXwuji1Q0p6FX0IRu-PBtgN-CxWdF8wvbNemn1A=s50-c-k-no" width="48" height="48" alt="Author profile image"></div><div class="comment-data"><div class="comment-box"><div class="user-name">Evan Ovadia</div><div class="comment-status"></div><div class="created-date">Jun 14, 2021, 3:43 AM(edited: Jun 14, 2021, 3:45 AM)</div><div class="comment-content">Any ideas for how we&#39;d invoke e.g. scala compiler?</div></div><div class="reply-list"><div id="AAAAM0qBYZQ" class="reply-box"><div class="author-picture"><img src="https://lh3.googleusercontent.com/a/AATXAJzquqKs51jQaypnj4w6deBzM6CO2MdLgoDTfC3G=s50-c-k-no" width="24" height="24" alt="Author profile image"></div><div class="reply-data"><div class="user-name">Alec Sanchez</div><div class="comment-content">Example in the [build] section: odin_compiler {Module}/src -out={packagename_bin}/packagename.lib -build-mode:dll<br><br>odin_compiler is the constant for the odin compiler (hence REQUIRE) and the {Module} is something I came up with for the build system to pass the correct file location to the odin compiler</div><div class="created-date">Jun 14, 2021, 3:45 AM</div></div></div></div></div></div><div id="AAAAM0qBYZE" class="comment"><div class="json">null</div><div class="author-picture"><img src="https://lh3.googleusercontent.com/a-/AOh14GjoOXwuji1Q0p6FX0IRu-PBtgN-CxWdF8wvbNemn1A=s50-c-k-no" width="48" height="48" alt="Author profile image"></div><div class="comment-data"><div class="comment-box"><div class="user-name">Evan Ovadia</div><div class="comment-status"></div><div class="created-date">Jun 14, 2021, 3:39 AM(edited: Jun 14, 2021, 3:40 AM)</div><div class="comment-context"><div class="comment-context-intro">Selected text:</div><div class="comment-context-value">targeting</div></div><div class="comment-content">wdym targeting?</div></div><div class="reply-list"><div id="AAAAM0qBYZI" class="reply-box"><div class="author-picture"><img src="https://lh3.googleusercontent.com/a/AATXAJzquqKs51jQaypnj4w6deBzM6CO2MdLgoDTfC3G=s50-c-k-no" width="24" height="24" alt="Author profile image"></div><div class="reply-data"><div class="user-name">Alec Sanchez</div><div class="comment-content">I remember talking about this previously, where you mentioned languages specifically (Java, C, and JS) that you wanted to target, so I broadened the scope to formats that are more language-agnostic</div><div class="created-date">Jun 14, 2021, 3:40 AM</div></div></div></div></div></div><div id="AAAAM0qBYY4" class="comment"><div class="json">null</div><div class="author-picture"><img src="https://lh3.googleusercontent.com/a-/AOh14GgAQ1MIjndC4Y2EG4tiWe1dlo2b5gO-UfMq_K-cFA=s50-c-k-no" width="48" height="48" alt="Author profile image"></div><div class="comment-data"><div class="comment-box"><div class="user-name">Alec Sanchez</div><div class="comment-status"></div><div class="created-date">Jun 14, 2021, 3:29 AM(edited: Jun 14, 2021, 3:37 AM)</div><div class="comment-content"><div style="font-size:13px;color:#333"><span style="font-weight:bold">Replace:</span> <span style="white-space:pre-line;color:#777;font-style:italic">“(F0x&#39;s stuff here!)”</span> with <span style="white-space:pre-line;color:#777;font-style:italic">“Distribute .vast files, making source code optional. Users can define their build programs (such as …”</span></div></div></div><div class="reply-list"><div id="AAAAM0qBYY8" class="reply-box"><div class="author-picture"><img src="https://lh3.googleusercontent.com/a-/AOh14GgAQ1MIjndC4Y2EG4tiWe1dlo2b5gO-UfMq_K-cFA=s50-c-k-no" width="24" height="24" alt="Author profile image"></div><div class="reply-data"><div class="user-name">Alec Sanchez</div><div class="comment-content">These are some of the ideas I had, but I might be missing something...</div><div class="created-date">Jun 14, 2021, 3:37 AM</div></div></div><div id="AAAAM0qBYZA" class="reply-box"><div class="author-picture"><img src="https://lh3.googleusercontent.com/a-/AOh14GjoOXwuji1Q0p6FX0IRu-PBtgN-CxWdF8wvbNemn1A=s50-c-k-no" width="24" height="24" alt="Author profile image"></div><div class="reply-data"><div class="user-name">Evan Ovadia</div><div class="comment-action">Accepted suggestion</div><div class="comment-content"></div><div class="created-date">Jun 14, 2021, 3:37 AM</div></div></div></div></div></div><div id="AAAAIsjQZCE" class="comment"><div class="json">null</div><div class="author-picture"><img src="https://lh3.googleusercontent.com/a-/AOh14GifZkxh5NouSuXsOZVVeCYnegULJ-H-NkZhYe5x1Q=s50-c-k-no" width="48" height="48" alt="Author profile image"></div><div class="comment-data"><div class="comment-box"><div class="user-name">Julian Lazaras</div><div class="comment-status">Resolved</div><div class="created-date">Jun 8, 2021, 5:43 AM(edited: Jun 14, 2021, 6:58 AM)</div><div class="comment-context"><div class="comment-context-intro">Selected text:</div><div class="comment-context-value">Same as valec.py does: it looks in the externs section of the .vast, which lists all packages that had externs. It will then include those C files in the clang invocation.</div></div><div class="comment-content">Ican we please please say namespace</div></div><div class="reply-list"><div id="AAAAMhAC3D4" class="reply-box"><div class="author-picture"><img src="https://lh3.googleusercontent.com/a-/AOh14GifZkxh5NouSuXsOZVVeCYnegULJ-H-NkZhYe5x1Q=s50-c-k-no" width="24" height="24" alt="Author profile image"></div><div class="reply-data"><div class="user-name">Julian Lazaras</div><div class="comment-action">Marked as resolved</div><div class="comment-content"></div><div class="created-date">Jun 14, 2021, 6:58 AM</div></div></div></div></div></div><div id="AAAAIsjQZB8" class="comment"><div class="json">null</div><div class="author-picture"><img src="https://lh3.googleusercontent.com/a-/AOh14GifZkxh5NouSuXsOZVVeCYnegULJ-H-NkZhYe5x1Q=s50-c-k-no" width="48" height="48" alt="Author profile image"></div><div class="comment-data"><div class="comment-box"><div class="user-name">Julian Lazaras</div><div class="comment-status"></div><div class="created-date">Jun 8, 2021, 5:39 AM(edited: Jun 14, 2021, 6:33 AM)</div><div class="comment-context"><div class="comment-context-intro">Selected text:</div><div class="comment-context-value">We wouldnt have conditional compilation at the language level.<br><br>To implement features, they can specify constants via command line (like C&amp;#39;s -DSPRONGLING_ENABLED=true) and use them in if-statements:<br>if (SPRONGLING_ENABLED) {  ...<br>} else {<br>  ...<br>}</div></div><div class="comment-content">I assume we could also just have constants in file? regardless hmm, I am wondering how fountain will handle these maybe --constants NAME1=value1 name2=value2 then all those will in turn be passed to Valestrom. there will also be --features as a flag to fountain, I may also add a means of declaring &quot;these constants are options&quot; and a means of having a list of constants for a given dependency such as <br>```toml<br>[[dependencies]]<br>/// ... normal stuff here<br>constants = [&quot;name=value1&quot;, &quot;other=vale2&quot;]<br>```</div></div><div class="reply-list"><div id="AAAAMhAC3Ds" class="reply-box"><div class="author-picture"><img src="https://lh3.googleusercontent.com/a-/AOh14GifZkxh5NouSuXsOZVVeCYnegULJ-H-NkZhYe5x1Q=s50-c-k-no" width="24" height="24" alt="Author profile image"></div><div class="reply-data"><div class="user-name">Julian Lazaras</div><div class="comment-content">I have already begun implementing a system of passing constants defined in either build.vale or toml to Valestrom, and to the build scripts of dependencies</div><div class="created-date">Jun 14, 2021, 6:32 AM</div></div></div><div id="AAAAMhAC3Dw" class="reply-box"><div class="author-picture"><img src="https://lh3.googleusercontent.com/a-/AOh14GifZkxh5NouSuXsOZVVeCYnegULJ-H-NkZhYe5x1Q=s50-c-k-no" width="24" height="24" alt="Author profile image"></div><div class="reply-data"><div class="user-name">Julian Lazaras</div><div class="comment-content">aka that toml shown is I believe currently valid (perhaps only on my local copy) tho it currently doesn&#39;t do much</div><div class="created-date">Jun 14, 2021, 6:33 AM</div></div></div></div></div></div><div id="AAAAIsjQZB4" class="comment"><div class="json">null</div><div class="author-picture"><img src="https://lh3.googleusercontent.com/a-/AOh14GifZkxh5NouSuXsOZVVeCYnegULJ-H-NkZhYe5x1Q=s50-c-k-no" width="48" height="48" alt="Author profile image"></div><div class="comment-data"><div class="comment-box"><div class="user-name">Julian Lazaras</div><div class="comment-status"></div><div class="created-date">Jun 8, 2021, 5:35 AM</div><div class="comment-context"><div class="comment-context-intro">Selected text:</div><div class="comment-context-value">condition = &amp;quot;target_os == jvm&amp;quot;</div></div><div class="comment-content">this works, as long as we are explicit about what operators are and aren&#39;t allowed, like &lt;= doesn&#39;t make much sense</div></div><div class="reply-list"></div></div></div><div id="AAAAIsc8e0E" class="comment"><div class="json">null</div><div class="author-picture"><img src="https://lh3.googleusercontent.com/a-/AOh14GgAQ1MIjndC4Y2EG4tiWe1dlo2b5gO-UfMq_K-cFA=s50-c-k-no" width="48" height="48" alt="Author profile image"></div><div class="comment-data"><div class="comment-box"><div class="user-name">Alec Sanchez</div><div class="comment-status"></div><div class="created-date">Jun 8, 2021, 2:15 AM(edited: Jun 8, 2021, 5:33 AM)</div><div class="comment-context"><div class="comment-context-intro">Selected text:</div><div class="comment-context-value">Fountain sees anything that’s not vale code as “other” so it places it in native/ and lets build scripts describe what gets compiled, of course when features are implemented, then build scripts can exists on a per feature basis so only what needs to be compiled in terms of non vale code gets compiled. This doesn’t work well with how Valestrom treats what should be compiled, as Valestrom is the one responsible for deciding what does and doesn’t get compiled, and fountain has no idea what namespaces are and aren’t compiled, thus there’s no way currently to know what C code to compile. If fountain passed something like JSON meta data to valestrom, or could specify features to Valestrom this could solve this issue.</div></div><div class="comment-content">I don&#39;t feel that Fountain should worry about foreign code, as it&#39;s impossible to make agnostic. If Fountain were a language-agnostic build system similar to Make, this&#39;d be a different story, but Fountain is inherently language-specific</div></div><div class="reply-list"><div id="AAAAIsjQZBw" class="reply-box"><div class="author-picture"><img src="https://lh3.googleusercontent.com/a-/AOh14GifZkxh5NouSuXsOZVVeCYnegULJ-H-NkZhYe5x1Q=s50-c-k-no" width="24" height="24" alt="Author profile image"></div><div class="reply-data"><div class="user-name">Julian Lazaras</div><div class="comment-content">while I&#39;m glad you point this out, as we have discussed it will severely mess up vale code, and the functioning of fountain to not have it touch C/java/javascript code, you can of course still use make, the only meaning of this approach to features is that these tools will be evoked, for example make as the command instead of clang is perfectly valid</div><div class="created-date">Jun 8, 2021, 5:31 AM</div></div></div><div id="AAAAIsjQZB0" class="reply-box"><div class="author-picture"><img src="https://lh3.googleusercontent.com/a-/AOh14GifZkxh5NouSuXsOZVVeCYnegULJ-H-NkZhYe5x1Q=s50-c-k-no" width="24" height="24" alt="Author profile image"></div><div class="reply-data"><div class="user-name">Julian Lazaras</div><div class="comment-content">a requirement of this, is that Valestorm is told, you must at least compile these modules, which as you mention will solve that issue, and after my finals I&#39;ll see if I can add it to Valestrom</div><div class="created-date">Jun 8, 2021, 5:33 AM</div></div></div></div></div></div><div id="AAAAIsc8ez8" class="comment"><div class="json">null</div><div class="author-picture"><img src="https://lh3.googleusercontent.com/a-/AOh14GgAQ1MIjndC4Y2EG4tiWe1dlo2b5gO-UfMq_K-cFA=s50-c-k-no" width="48" height="48" alt="Author profile image"></div><div class="comment-data"><div class="comment-box"><div class="user-name">Alec Sanchez</div><div class="comment-status"></div><div class="created-date">Jun 8, 2021, 2:11 AM(edited: Jun 15, 2021, 1:01 AM)</div><div class="comment-content"><div style="font-size:13px;color:#333"><span style="font-weight:bold">Add:</span> <span style="white-space:pre-line;color:#777;font-style:italic">“r”</span></div></div></div><div class="reply-list"><div id="AAAAM1aPSLE" class="reply-box"><div class="author-picture"><img src="https://lh3.googleusercontent.com/a-/AOh14GjoOXwuji1Q0p6FX0IRu-PBtgN-CxWdF8wvbNemn1A=s50-c-k-no" width="24" height="24" alt="Author profile image"></div><div class="reply-data"><div class="user-name">Evan Ovadia</div><div class="comment-action">Accepted suggestion</div><div class="comment-content"></div><div class="created-date">Jun 15, 2021, 1:01 AM</div></div></div></div></div></div><div id="AAAAIsc8E3s" class="comment"><div class="json">null</div><div class="author-picture"><img src="https://lh3.googleusercontent.com/a-/AOh14GjoOXwuji1Q0p6FX0IRu-PBtgN-CxWdF8wvbNemn1A=s50-c-k-no" width="48" height="48" alt="Author profile image"></div><div class="comment-data"><div class="comment-box"><div class="user-name">Evan Ovadia</div><div class="comment-status"></div><div class="created-date">Jun 8, 2021, 12:21 AM(edited: Jun 14, 2021, 9:35 PM)</div><div class="comment-context"><div class="comment-context-intro">Selected text:</div><div class="comment-context-value">We want packages to not form cyclic dependencies. This way, when we change something, the compiler can know exactly which packages it has to recompile.</div></div><div class="comment-content">I&#39;m not 100% sure that this is the only way to accomplish fast incremental compilation. There might be a way to do it that allows package cyclic dependencies.</div></div><div class="reply-list"><div id="AAAAM1OZIbY" class="reply-box"><div class="author-picture"><img src="https://lh3.googleusercontent.com/a-/AOh14GifZkxh5NouSuXsOZVVeCYnegULJ-H-NkZhYe5x1Q=s50-c-k-no" width="24" height="24" alt="Author profile image"></div><div class="reply-data"><div class="user-name">Julian Lazaras</div><div class="comment-content">depends how localized the cycle is, if say struct A has a member struct B that requires as a member struct A, well that&#39;s not really resolvable by a compiler I don&#39;t think, and so I think we should discourage cyclic dependencies in favor of depending on earlier versions of code (thus acyclic)</div><div class="created-date">Jun 14, 2021, 9:34 PM</div></div></div><div id="AAAAM1OZIbc" class="reply-box"><div class="author-picture"><img src="https://lh3.googleusercontent.com/a-/AOh14GifZkxh5NouSuXsOZVVeCYnegULJ-H-NkZhYe5x1Q=s50-c-k-no" width="24" height="24" alt="Author profile image"></div><div class="reply-data"><div class="user-name">Julian Lazaras</div><div class="comment-content">partial .vast will greatly increase incremental compilation advantages</div><div class="created-date">Jun 14, 2021, 9:34 PM</div></div></div><div id="AAAAM1OZIbg" class="reply-box"><div class="author-picture"><img src="https://lh3.googleusercontent.com/a-/AOh14GifZkxh5NouSuXsOZVVeCYnegULJ-H-NkZhYe5x1Q=s50-c-k-no" width="24" height="24" alt="Author profile image"></div><div class="reply-data"><div class="user-name">Julian Lazaras</div><div class="comment-content">as well as obviously cached .vast</div><div class="created-date">Jun 14, 2021, 9:35 PM</div></div></div></div></div></div><div id="AAAAIsc8E3g" class="comment"><div class="json">null</div><div class="author-picture"><img src="https://lh3.googleusercontent.com/a-/AOh14GifZkxh5NouSuXsOZVVeCYnegULJ-H-NkZhYe5x1Q=s50-c-k-no" width="48" height="48" alt="Author profile image"></div><div class="comment-data"><div class="comment-box"><div class="user-name">Julian Lazaras</div><div class="comment-status">Resolved</div><div class="created-date">Jun 8, 2021, 12:07 AM(edited: Jun 8, 2021, 12:27 AM)</div><div class="comment-context"><div class="comment-context-intro">Selected text:</div><div class="comment-context-value">Fountain would check each of its subdirectories for a .toml.</div></div><div class="comment-content">not quite, more like it would have a path in [[dependencies]]</div></div><div class="reply-list"><div id="AAAAIsc8E3w" class="reply-box"><div class="author-picture"><img src="https://lh3.googleusercontent.com/a-/AOh14GjoOXwuji1Q0p6FX0IRu-PBtgN-CxWdF8wvbNemn1A=s50-c-k-no" width="24" height="24" alt="Author profile image"></div><div class="reply-data"><div class="user-name">Evan Ovadia</div><div class="comment-action">Marked as resolved</div><div class="comment-content"></div><div class="created-date">Jun 8, 2021, 12:27 AM</div></div></div></div></div></div><div id="AAAAIsc8E3c" class="comment"><div class="json">null</div><div class="author-picture"><img src="https://lh3.googleusercontent.com/a-/AOh14GjoOXwuji1Q0p6FX0IRu-PBtgN-CxWdF8wvbNemn1A=s50-c-k-no" width="48" height="48" alt="Author profile image"></div><div class="comment-data"><div class="comment-box"><div class="user-name">Evan Ovadia</div><div class="comment-status">Resolved</div><div class="created-date">Jun 8, 2021, 12:07 AM(edited: Jun 14, 2021, 5:51 AM)</div><div class="comment-context"><div class="comment-context-intro">Selected text:</div><div class="comment-context-value">if per namespace ever namespace would need a src directory because reasons</div></div><div class="comment-content">can you clarify this?</div></div><div class="reply-list"><div id="AAAAMynMEAI" class="reply-box"><div class="author-picture"><img src="https://lh3.googleusercontent.com/a-/AOh14GjoOXwuji1Q0p6FX0IRu-PBtgN-CxWdF8wvbNemn1A=s50-c-k-no" width="24" height="24" alt="Author profile image"></div><div class="reply-data"><div class="user-name">Evan Ovadia</div><div class="comment-content">let me know when you clarify this and i can resurrect it.</div><div class="created-date">Jun 9, 2021, 4:18 AM</div></div></div><div id="AAAAMhAC3DI" class="reply-box"><div class="author-picture"><img src="https://lh3.googleusercontent.com/a-/AOh14GifZkxh5NouSuXsOZVVeCYnegULJ-H-NkZhYe5x1Q=s50-c-k-no" width="24" height="24" alt="Author profile image"></div><div class="reply-data"><div class="user-name">Julian Lazaras</div><div class="comment-content">Resolved</div><div class="created-date">Jun 14, 2021, 5:51 AM</div></div></div><div id="AAAAMhAC3DM" class="reply-box"><div class="author-picture"><img src="https://lh3.googleusercontent.com/a-/AOh14GifZkxh5NouSuXsOZVVeCYnegULJ-H-NkZhYe5x1Q=s50-c-k-no" width="24" height="24" alt="Author profile image"></div><div class="reply-data"><div class="user-name">Julian Lazaras</div><div class="comment-action">Marked as resolved</div><div class="comment-content"></div><div class="created-date">Jun 14, 2021, 5:51 AM</div></div></div></div></div></div><div id="AAAAIsc8E24" class="comment"><div class="json">null</div><div class="author-picture"><img src="https://lh3.googleusercontent.com/a-/AOh14GjoOXwuji1Q0p6FX0IRu-PBtgN-CxWdF8wvbNemn1A=s50-c-k-no" width="48" height="48" alt="Author profile image"></div><div class="comment-data"><div class="comment-box"><div class="user-name">Evan Ovadia</div><div class="comment-status"></div><div class="created-date">Jun 7, 2021, 11:54 PM</div><div class="comment-content"><div style="font-size:13px;color:#333"><span style="font-weight:bold">Delete paragraph</span> (2 times)</div></div></div><div class="reply-list"><div id="AAAAIsc8E28" class="reply-box"><div class="author-picture"><img src="https://lh3.googleusercontent.com/a-/AOh14GjoOXwuji1Q0p6FX0IRu-PBtgN-CxWdF8wvbNemn1A=s50-c-k-no" width="24" height="24" alt="Author profile image"></div><div class="reply-data"><div class="user-name">Evan Ovadia</div><div class="comment-action">Rejected suggestion</div><div class="comment-content"></div><div class="created-date">Jun 7, 2021, 11:54 PM</div></div></div></div></div></div><div id="AAAAIsc8E20" class="comment"><div class="json">null</div><div class="author-picture"><img src="https://lh3.googleusercontent.com/a-/AOh14GjoOXwuji1Q0p6FX0IRu-PBtgN-CxWdF8wvbNemn1A=s50-c-k-no" width="48" height="48" alt="Author profile image"></div><div class="comment-data"><div class="comment-box"><div class="user-name">Evan Ovadia</div><div class="comment-status">Resolved</div><div class="created-date">Jun 7, 2021, 11:52 PM(edited: Jun 15, 2021, 1:01 AM)</div><div class="comment-context"><div class="comment-context-intro">Selected text:</div><div class="comment-context-value">fountain has no idea what namespaces are and aren’t compiled, thus there’s no way currently to know what C code to compile. If fountain passed something like JSON meta data to valestrom, or could specify features to Valestrom this could solve this issue.</div></div><div class="comment-content">This is doable by looking at the resulting .vast, which includes a section specifically for <a href="https://www.google.com/url?q=http://valec.py/fountain&amp;sa=D&amp;source=docs&amp;ust=1653194669363330&amp;usg=AOvVaw3K1iZlsvrcB53MGJ94oxPM" data-rawhref="http://valec.py/fountain" target="_blank">valec.py/fountain</a> for this. (I acknowledge that&#39;s not optimal, so I&#39;m open to a better alternative here)</div></div><div class="reply-list"><div id="AAAAM1OZIbk" class="reply-box"><div class="author-picture"><img src="https://lh3.googleusercontent.com/a-/AOh14GifZkxh5NouSuXsOZVVeCYnegULJ-H-NkZhYe5x1Q=s50-c-k-no" width="24" height="24" alt="Author profile image"></div><div class="reply-data"><div class="user-name">Julian Lazaras</div><div class="comment-content">this is resolved by both E and K, I am wondering if this comment should be closed</div><div class="created-date">Jun 14, 2021, 9:36 PM</div></div></div><div id="AAAAM1aPSLI" class="reply-box"><div class="author-picture"><img src="https://lh3.googleusercontent.com/a-/AOh14GjoOXwuji1Q0p6FX0IRu-PBtgN-CxWdF8wvbNemn1A=s50-c-k-no" width="24" height="24" alt="Author profile image"></div><div class="reply-data"><div class="user-name">Evan Ovadia</div><div class="comment-content">done!</div><div class="created-date">Jun 15, 2021, 1:01 AM</div></div></div><div id="AAAAM1aPSLM" class="reply-box"><div class="author-picture"><img src="https://lh3.googleusercontent.com/a-/AOh14GjoOXwuji1Q0p6FX0IRu-PBtgN-CxWdF8wvbNemn1A=s50-c-k-no" width="24" height="24" alt="Author profile image"></div><div class="reply-data"><div class="user-name">Evan Ovadia</div><div class="comment-action">Marked as resolved</div><div class="comment-content"></div><div class="created-date">Jun 15, 2021, 1:01 AM</div></div></div></div></div></div><div id="AAAAIsc8E2w" class="comment"><div class="json">null</div><div class="author-picture"><img src="https://lh3.googleusercontent.com/a-/AOh14GjoOXwuji1Q0p6FX0IRu-PBtgN-CxWdF8wvbNemn1A=s50-c-k-no" width="48" height="48" alt="Author profile image"></div><div class="comment-data"><div class="comment-box"><div class="user-name">Evan Ovadia</div><div class="comment-status">Resolved</div><div class="created-date">Jun 7, 2021, 11:51 PM(edited: Jun 8, 2021, 12:07 AM)</div><div class="comment-context"><div class="comment-context-intro">Selected text:</div><div class="comment-context-value">this becomes extremely tedious.</div></div><div class="comment-content">Can you elaborate on what makes this tedious?</div></div><div class="reply-list"><div id="AAAAIsc8E3I" class="reply-box"><div class="author-picture"><img src="https://lh3.googleusercontent.com/a-/AOh14GifZkxh5NouSuXsOZVVeCYnegULJ-H-NkZhYe5x1Q=s50-c-k-no" width="24" height="24" alt="Author profile image"></div><div class="reply-data"><div class="user-name">Julian Lazaras</div><div class="comment-content">a lot of adding to toml, and of course finding the right toml to modif</div><div class="created-date">Jun 7, 2021, 11:59 PM</div></div></div><div id="AAAAIsc8E3Q" class="reply-box"><div class="author-picture"><img src="https://lh3.googleusercontent.com/a-/AOh14GifZkxh5NouSuXsOZVVeCYnegULJ-H-NkZhYe5x1Q=s50-c-k-no" width="24" height="24" alt="Author profile image"></div><div class="reply-data"><div class="user-name">Julian Lazaras</div><div class="comment-content">also if per namespace ever namespace would need a src directory <br>because reasons</div><div class="created-date">Jun 8, 2021, 12:01 AM</div></div></div><div id="AAAAIsc8E3Y" class="reply-box"><div class="author-picture"><img src="https://lh3.googleusercontent.com/a-/AOh14GjoOXwuji1Q0p6FX0IRu-PBtgN-CxWdF8wvbNemn1A=s50-c-k-no" width="24" height="24" alt="Author profile image"></div><div class="reply-data"><div class="user-name">Evan Ovadia</div><div class="comment-action">Marked as resolved</div><div class="comment-content"></div><div class="created-date">Jun 8, 2021, 12:07 AM</div></div></div></div></div></div><div id="AAAAIsc8E2s" class="comment"><div class="json">null</div><div class="author-picture"><img src="https://lh3.googleusercontent.com/a-/AOh14GjoOXwuji1Q0p6FX0IRu-PBtgN-CxWdF8wvbNemn1A=s50-c-k-no" width="48" height="48" alt="Author profile image"></div><div class="comment-data"><div class="comment-box"><div class="user-name">Evan Ovadia</div><div class="comment-status"></div><div class="created-date">Jun 7, 2021, 11:50 PM(edited: Jun 8, 2021, 12:09 AM)</div><div class="comment-context"><div class="comment-context-intro">Selected text:</div><div class="comment-context-value">build scripts can exists on a per feature basis so only what needs to be compiled in terms of non vale code gets compiled.</div></div><div class="comment-content">Is this a different (supposedly better) way to accomplish what the aforementioned native/-including mechanism accomplishes?</div></div><div class="reply-list"><div id="AAAAIsc8E3U" class="reply-box"><div class="author-picture"><img src="https://lh3.googleusercontent.com/a-/AOh14GifZkxh5NouSuXsOZVVeCYnegULJ-H-NkZhYe5x1Q=s50-c-k-no" width="24" height="24" alt="Author profile image"></div><div class="reply-data"><div class="user-name">Julian Lazaras</div><div class="comment-content">it more explicit and concise, it also removes the need for namespace/fountain.toml and namespace/src</div><div class="created-date">Jun 8, 2021, 12:05 AM</div></div></div><div id="AAAAIsc8E3k" class="reply-box"><div class="author-picture"><img src="https://lh3.googleusercontent.com/a-/AOh14GjoOXwuji1Q0p6FX0IRu-PBtgN-CxWdF8wvbNemn1A=s50-c-k-no" width="24" height="24" alt="Author profile image"></div><div class="reply-data"><div class="user-name">Evan Ovadia</div><div class="comment-content">how is it more concise? also, in this particular approach, there doesnt need to be a fountain.toml for every package, just one at the root.</div><div class="created-date">Jun 8, 2021, 12:09 AM</div></div></div></div></div></div><div id="AAAAIsc8E2o" class="comment"><div class="json">null</div><div class="author-picture"><img src="https://lh3.googleusercontent.com/a-/AOh14GjoOXwuji1Q0p6FX0IRu-PBtgN-CxWdF8wvbNemn1A=s50-c-k-no" width="48" height="48" alt="Author profile image"></div><div class="comment-data"><div class="comment-box"><div class="user-name">Evan Ovadia</div><div class="comment-status"></div><div class="created-date">Jun 7, 2021, 11:49 PM(edited: Jun 7, 2021, 11:54 PM)</div><div class="comment-content"><div style="font-size:13px;color:#333"><span style="font-weight:bold">Delete:</span> <span style="white-space:pre-line;color:#777;font-style:italic">“s”</span></div></div></div><div class="reply-list"><div id="AAAAIsc8E3E" class="reply-box"><div class="author-picture"><img src="https://lh3.googleusercontent.com/a-/AOh14GjoOXwuji1Q0p6FX0IRu-PBtgN-CxWdF8wvbNemn1A=s50-c-k-no" width="24" height="24" alt="Author profile image"></div><div class="reply-data"><div class="user-name">Evan Ovadia</div><div class="comment-action">Rejected suggestion</div><div class="comment-content"></div><div class="created-date">Jun 7, 2021, 11:54 PM</div></div></div></div></div></div><div id="AAAAIsc8E2k" class="comment"><div class="json">null</div><div class="author-picture"><img src="https://lh3.googleusercontent.com/a-/AOh14GjoOXwuji1Q0p6FX0IRu-PBtgN-CxWdF8wvbNemn1A=s50-c-k-no" width="48" height="48" alt="Author profile image"></div><div class="comment-data"><div class="comment-box"><div class="user-name">Evan Ovadia</div><div class="comment-status"></div><div class="created-date">Jun 7, 2021, 11:49 PM(edited: Jun 7, 2021, 11:54 PM)</div><div class="comment-content"><div style="font-size:13px;color:#333"><span style="font-weight:bold">Add:</span> <span style="white-space:pre-line;color:#777;font-style:italic">“should”</span></div></div></div><div class="reply-list"><div id="AAAAIsc8E3A" class="reply-box"><div class="author-picture"><img src="https://lh3.googleusercontent.com/a-/AOh14GjoOXwuji1Q0p6FX0IRu-PBtgN-CxWdF8wvbNemn1A=s50-c-k-no" width="24" height="24" alt="Author profile image"></div><div class="reply-data"><div class="user-name">Evan Ovadia</div><div class="comment-action">Rejected suggestion</div><div class="comment-content"></div><div class="created-date">Jun 7, 2021, 11:54 PM</div></div></div></div></div></div><div id="AAAAIsc7k-k" class="comment"><div class="json">null</div><div class="author-picture"><img src="https://lh3.googleusercontent.com/a-/AOh14GifZkxh5NouSuXsOZVVeCYnegULJ-H-NkZhYe5x1Q=s50-c-k-no" width="48" height="48" alt="Author profile image"></div><div class="comment-data"><div class="comment-box"><div class="user-name">Julian Lazaras</div><div class="comment-status">Resolved</div><div class="created-date">Jun 7, 2021, 11:27 PM</div><div class="comment-context"><div class="comment-context-intro">Selected text:</div><div class="comment-context-value">package stdlib.networking.sockets;<br>would say that all the denizens in this file are in the stdlib.networking.sockets package.</div></div><div class="comment-content">make 1:1 with directory meaningless, either enforce definition by filesystem, or building a separate module tree, like rust and nickel, in between adds unneeded confusion, unless you did what java does and errors if package.. doesn&#39;t match directory structure, which is I find just an unneeded error</div></div><div class="reply-list"><div id="AAAAIsc7k-o" class="reply-box"><div class="author-picture"><img src="https://lh3.googleusercontent.com/a-/AOh14GjoOXwuji1Q0p6FX0IRu-PBtgN-CxWdF8wvbNemn1A=s50-c-k-no" width="24" height="24" alt="Author profile image"></div><div class="reply-data"><div class="user-name">Evan Ovadia</div><div class="comment-action">Marked as resolved</div><div class="comment-content"></div><div class="created-date">Jun 7, 2021, 11:27 PM</div></div></div></div></div></div><div id="AAAAIsc7k-g" class="comment"><div class="json">null</div><div class="author-picture"><img src="https://lh3.googleusercontent.com/a-/AOh14GifZkxh5NouSuXsOZVVeCYnegULJ-H-NkZhYe5x1Q=s50-c-k-no" width="48" height="48" alt="Author profile image"></div><div class="comment-data"><div class="comment-box"><div class="user-name">Julian Lazaras</div><div class="comment-status"></div><div class="created-date">Jun 7, 2021, 11:24 PM</div><div class="comment-context"><div class="comment-context-intro">Selected text:</div><div class="comment-context-value">If two denizens are in the same package, they can see/use each other without any import statements.</div></div><div class="comment-content">I&#39;ve accepted this is fine</div></div><div class="reply-list"></div></div></div><div id="AAAAIsc7k-Y" class="comment"><div class="json">null</div><div class="author-picture"><img src="https://lh3.googleusercontent.com/a-/AOh14GifZkxh5NouSuXsOZVVeCYnegULJ-H-NkZhYe5x1Q=s50-c-k-no" width="48" height="48" alt="Author profile image"></div><div class="comment-data"><div class="comment-box"><div class="user-name">Julian Lazaras</div><div class="comment-status">Resolved</div><div class="created-date">Jun 7, 2021, 11:23 PM(edited: Jun 7, 2021, 11:24 PM)</div><div class="comment-context"><div class="comment-context-intro">Selected text:</div><div class="comment-context-value">If the package statement is missing, we infer its package from the file path. If a file is in the ./networking/sockets directory inside the stdlib project&amp;#39;s source directory, we automatically infer that it&amp;#39;s part of the stdlib.networking.sockets directory.</div></div><div class="comment-content">fountain doesn&#39;t have this notion exactly, it sees packages as anything with a fountain.toml and at least a src directory</div></div><div class="reply-list"><div id="AAAAIsc7k-c" class="reply-box"><div class="author-picture"><img src="https://lh3.googleusercontent.com/a-/AOh14GjoOXwuji1Q0p6FX0IRu-PBtgN-CxWdF8wvbNemn1A=s50-c-k-no" width="24" height="24" alt="Author profile image"></div><div class="reply-data"><div class="user-name">Evan Ovadia</div><div class="comment-action">Marked as resolved</div><div class="comment-content"></div><div class="created-date">Jun 7, 2021, 11:24 PM</div></div></div></div></div></div><div id="AAAAIsc7k-M" class="comment"><div class="json">null</div><div class="author-picture"><img src="https://lh3.googleusercontent.com/a-/AOh14GifZkxh5NouSuXsOZVVeCYnegULJ-H-NkZhYe5x1Q=s50-c-k-no" width="48" height="48" alt="Author profile image"></div><div class="comment-data"><div class="comment-box"><div class="user-name">Julian Lazaras</div><div class="comment-status"></div><div class="created-date">Jun 7, 2021, 11:22 PM(edited: Jun 7, 2021, 11:23 PM)</div><div class="comment-content"><div style="font-size:13px;color:#333"><span style="font-weight:bold">Delete:</span> <span style="white-space:pre-line;color:#777;font-style:italic">“TL;DR: when a package is included, we include the C files in its native/ subdirectory.”</span></div></div></div><div class="reply-list"><div id="AAAAIsc7k-Q" class="reply-box"><div class="author-picture"><img src="https://lh3.googleusercontent.com/a-/AOh14GifZkxh5NouSuXsOZVVeCYnegULJ-H-NkZhYe5x1Q=s50-c-k-no" width="24" height="24" alt="Author profile image"></div><div class="reply-data"><div class="user-name">Julian Lazaras</div><div class="comment-content">conjecture this is experimental</div><div class="created-date">Jun 7, 2021, 11:22 PM</div></div></div><div id="AAAAIsc7k-U" class="reply-box"><div class="author-picture"><img src="https://lh3.googleusercontent.com/a-/AOh14GjoOXwuji1Q0p6FX0IRu-PBtgN-CxWdF8wvbNemn1A=s50-c-k-no" width="24" height="24" alt="Author profile image"></div><div class="reply-data"><div class="user-name">Evan Ovadia</div><div class="comment-action">Rejected suggestion</div><div class="comment-content"></div><div class="created-date">Jun 7, 2021, 11:23 PM</div></div></div></div></div></div><div id="AAAAIsc7k98" class="comment"><div class="json">null</div><div class="author-picture"><img src="https://lh3.googleusercontent.com/a-/AOh14GifZkxh5NouSuXsOZVVeCYnegULJ-H-NkZhYe5x1Q=s50-c-k-no" width="48" height="48" alt="Author profile image"></div><div class="comment-data"><div class="comment-box"><div class="user-name">Julian Lazaras</div><div class="comment-status"></div><div class="created-date">Jun 7, 2021, 11:18 PM(edited: Jun 8, 2021, 12:00 AM)</div><div class="comment-content"><div style="font-size:13px;color:#333"><span style="font-weight:bold">Delete:</span> <span style="white-space:pre-line;color:#777;font-style:italic">“stdlib.networking.sockets;”</span></div></div></div><div class="reply-list"><div id="AAAAIsc7k-A" class="reply-box"><div class="author-picture"><img src="https://lh3.googleusercontent.com/a-/AOh14GifZkxh5NouSuXsOZVVeCYnegULJ-H-NkZhYe5x1Q=s50-c-k-no" width="24" height="24" alt="Author profile image"></div><div class="reply-data"><div class="user-name">Julian Lazaras</div><div class="comment-content">this is just doing the same thing java does, its not very original, and I think unneeded</div><div class="created-date">Jun 7, 2021, 11:19 PM</div></div></div><div id="AAAAIsc7k-I" class="reply-box"><div class="author-picture"><img src="https://lh3.googleusercontent.com/a-/AOh14GifZkxh5NouSuXsOZVVeCYnegULJ-H-NkZhYe5x1Q=s50-c-k-no" width="24" height="24" alt="Author profile image"></div><div class="reply-data"><div class="user-name">Julian Lazaras</div><div class="comment-content">that seemed to me to be the reason we don&#39;t do a rust like system (for the sake of simplicity)</div><div class="created-date">Jun 7, 2021, 11:21 PM</div></div></div><div id="AAAAIsc8E3M" class="reply-box"><div class="author-picture"><img src="https://lh3.googleusercontent.com/a-/AOh14GjoOXwuji1Q0p6FX0IRu-PBtgN-CxWdF8wvbNemn1A=s50-c-k-no" width="24" height="24" alt="Author profile image"></div><div class="reply-data"><div class="user-name">Evan Ovadia</div><div class="comment-action">Rejected suggestion</div><div class="comment-content"></div><div class="created-date">Jun 8, 2021, 12:00 AM</div></div></div></div></div></div></section></body></html>